Π 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
