Π NPM-ΠΏΠ°ΠΊΠ΅ΡΠ΅ node-netmask, Π½Π°ΡΡΠΈΡΡΠ²Π°ΡΡΠ΅ΠΌ ΠΎΠΊΠΎΠ»ΠΎ 3 ΠΌΠ»Π½ Π·Π°Π³ΡΡΠ·ΠΎΠΊ Π² Π½Π΅Π΄Π΅Π»Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Ρ Π±ΠΎΠ»Π΅Π΅ 270 ΡΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° GitHub, Π²ΡΡΠ²Π»Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2021-28918), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΠ΅Π²Π°Ρ ΠΌΠ°ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡΡΠ°Π½Π΅Π½Π° Π² Π²ΡΠΏΡΡΠΊΠ΅ node-netmask 2.0.0.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ IP-Π°Π΄ΡΠ΅ΡΠ° ΠΊΠ°ΠΊ Π°Π΄ΡΠ΅ΡΠ° ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ΅ΡΠΈ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π° ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ node-netmask Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π°ΡΠ°ΠΊΠΈ SSRF (Server-side request forgery),RFI (Remote File Inclusion) ΠΈ LFI (Local File Inclusion) Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ΅ΡΠΈ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΡΠΊΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠΎΠ², Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ Π½ΡΠ»Ρ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°, Π½ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ «node-netmask» Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΈΡ ΠΊΠ°ΠΊ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ, ΡΠΊΠ°Π·Π°Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «0177.0.0.1», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ «127.0.0.1», Π½ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ «node-netmask» ΠΎΡΠ±ΡΠΎΡΠΈΡ Π½ΠΎΠ»Ρ, ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅Ρ 0177.0.0.1″ ΠΊΠ°ΠΊ «177.0.0.1», ΡΡΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ ΠΏΡΠ°Π²ΠΈΠ» Π΄ΠΎΡΡΡΠΏΠ° Π½Π΅ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠΆΠ΄Π΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Ρ «127.0.0.1». ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π°Π΄ΡΠ΅Ρ «0127.0.0.1», ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠΆΠ΄Π΅ΡΡΠ²Π΅Π½Π΅Π½ «87.0.0.1», Π½ΠΎ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ «node-netmask» Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠ°ΠΊ «127.0.0.1». ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΌΠ°Π½ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΈΠ½ΡΡΠ°Π½Π΅Ρ Π°Π΄ΡΠ΅ΡΠ°ΠΌ, ΡΠΊΠ°Π·Π°Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ «012.0.0.1» (ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ «10.0.0.1», Π½ΠΎ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠ°ΠΊ 12.0.0.1).
ΠΡΡΠ²ΠΈΠ²ΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠΈΡΠ½ΠΎΠΉ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π°ΡΠ°ΠΊ, Π½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠΌΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π°ΡΠ°ΠΊΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ Node.js, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΠ΅Π΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΡΡΡΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΡΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, Π½ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈ Π½Π΅ Π΄Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π°ΠΉΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π²Π΅Π΄ΡΠ½Π½ΡΡ IP-Π°Π΄ΡΠ΅ΡΠΎΠ², Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ Π±Π΅Π· ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° «Π·Π΅ΡΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ» IP-Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ.
ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π»ΠΈΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ Π²Π»Π°Π΄Π΅Π»ΡΡΡ 87.0.0.1 (Telecom Italia) ΠΈ 0177.0.0.1 (Brasil Telecom) ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ 127.0.0.1. ΠΠΎΠ»Π΅Π΅ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΠΎΠ±Ρ
ΠΎΠ΄Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΏΠΈΡΠΊΠΎΠ² Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΡΠ°Π½Π΅Ρ-Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π² NPM-ΠΌΠΎΠ΄ΡΠ»Π΅ «private-ip».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru