Π NPM-ΠΏΠ°ΠΊΠ΅ΡΠ΅ node-ipc Π²ΡΡΠ²Π»Π΅Π½ΠΎ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ (CVE-2022-23812), Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ 25% Π·Π°ΠΌΠ΅Π½ΡΡΡΠ΅Π΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» «❤️» ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ Π½Π° Π·Π°ΠΏΠΈΡΡ. ΠΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ IP-Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· Π ΠΎΡΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΠ΅Π»Π°ΡΡΡΠΈ. ΠΠ°ΠΊΠ΅Ρ node-ipc Π½Π°ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° Π·Π°Π³ΡΡΠ·ΠΎΠΊ Π² Π½Π΅Π΄Π΅Π»Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Ρ 354 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ vue-cli. ΠΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ node-ipc, ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅.
ΠΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ» ΡΠ°Π·ΠΌΠ΅ΡΡΠ½ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ NPM Π² ΡΠΎΡΡΠ°Π²Π΅ Π²ΡΠΏΡΡΠΊΠΎΠ² node-ipc 10.1.1 ΠΈ 10.1.2. Π Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π°Π²ΡΠΎΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° 11 Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½Ρ Π² ΠΊΠΎΠ΄Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΠΎΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ api.ipgeolocation.io. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΊΠ»ΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ API ipgeolocation.io ΠΈΠ· Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠΉ Π²ΡΡΠ°Π²ΠΊΠΈ, ΠΎΡΠΎΠ·Π²Π°Π½.
Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΎΠΌΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π°Π²ΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π·Π°ΡΠ²ΠΈΠ», ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ», Π²ΡΠ²ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΈΠ·ΡΠ²ΠΎΠΌ ΠΊ ΠΌΠΈΡΡ. ΠΠ° Π΄Π΅Π»Π΅ Π² ΠΊΠΎΠ΄Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Ρ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ Π²ΡΠ΅Ρ Π²ΡΡΡΠ΅ΡΠΈΠ²ΡΠΈΡ ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠΎΠ·Π΄Π½Π΅Π΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ NPM Π±ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π²ΡΠΏΡΡΠΊΠΈ node-ipc 11.0.0 ΠΈ 11.1.0, Π² ΠΊΠΎΡΠΎΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²Π½Π΅ΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ «peacenotwar», ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠ΅ΠΌ ΠΆΠ΅ Π°Π²ΡΠΎΡΠΎΠΌ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠ°Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΆΠ΅Π»Π°ΡΡΠΈΠΌ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ. ΠΠ°ΡΠ²Π»ΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ peacenotwar Π»ΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΌΠΈΡΠ΅, Π½ΠΎ Ρ ΡΡΡΡΠΎΠΌ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡΡ Π°Π²ΡΠΎΡΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄Π΅ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ.
ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠΏΡΡΠ΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ node-ipc 9.2.2, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Vue.js. Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Π² ΡΠΈΡΠ»ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΏΠΎΠΌΠΈΠΌΠΎ peacenotwar, ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ colors, Π°Π²ΡΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² ΡΠ½Π²Π°ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π» Π² ΠΊΠΎΠ΄ Π΄Π΅ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Π±ΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Ρ MIT Π½Π° DBAD.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π°Π²ΡΠΎΡΠ° Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ node-ipc ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π° Π²Π΅ΡΡΠΈΠΈ 9.2.1. ΠΠ°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΎΠΊ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π°Π²ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π» 41 ΠΏΠ°ΠΊΠ΅Ρ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ΅ΠΌ ΠΆΠ΅ Π°Π²ΡΠΎΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (js-queue, easy-stack, js-message, event-pubsub) ΠΈΠΌΠ΅ΡΡ ΠΎΠΊΠΎΠ»ΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° Π·Π°Π³ΡΡΠ·ΠΎΠΊ Π² Π½Π΅Π΄Π΅Π»Ρ.
ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: Π€ΠΈΠΊΡΠΈΡΡΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΠΏΡΡΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ
ΠΊ IP-Π°Π΄ΡΠ΅ΡΠ°ΠΌ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½ΡΠ΅ ΠΈΠ· ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (es5-ext, rete, PHP composer, PHPUnit, Redis Desktop Manager, Awesome Prometheus Alerts, verdaccio, filestash) ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΡΠΈΠ·ΡΠ²ΠΎΠ² ΠΊ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π²ΠΎΠΉΠ½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· Π ΠΎΡΡΠΈΠΈ ΠΈ ΠΠ΅Π»Π°ΡΡΡΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΡΠ²Π»ΡΡΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ²Π»Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΠ°ΠΊΠ΅ΡΡ AWS Terraform modules Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΈΡΡΠΎΠ²Π°Π»ΡΡΠΈΠΊ ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ ΠΏΠΎΠ»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² Π»ΠΈΡΠ΅Π½Π·ΠΈΡ. Π ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Tasmota Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² ESP8266 ΠΈ ESP32 Π²ΡΡΡΠΎΠ΅Π½Π° Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ°, ΡΠΏΠΎΡΠΎΠ±Π½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅ΡΡΡΠ·Π½ΠΎ ΠΏΠΎΠ΄ΠΎΡΠ²Π°ΡΡ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ Ρ ΠΎΡΠΊΡΡΡΠΎΠΌΡ ΠΠ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru