Уязвимост Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π° pac-resolver NPM с 3 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° изтСгляния Π½Π° сСдмица

ΠŸΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ pac-resolver NPM, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° Π½Π°Π΄ 3 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° изтСгляния Π½Π° сСдмица, ΠΈΠΌΠ° уязвимост (CVE-2021-23406), която позволява нСговият JavaScript ΠΊΠΎΠ΄ Π΄Π° бъдС изпълнСн Π² контСкста Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° HTTP заявки ΠΎΡ‚ Node.js ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° функция Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° прокси ΡΡŠΡ€Π²ΡŠΡ€.

ΠŸΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ pac-resolver Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° PAC Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ скрипт Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° прокси. PAC Ρ„Π°ΠΉΠ»ΡŠΡ‚ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ JavaScript ΠΊΠΎΠ΄ с функция FindProxyForURL, която Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° прокси Π² зависимост ΠΎΡ‚ хоста ΠΈ заявСния URL адрСс. Π‘ΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° уязвимостта Π΅, Ρ‡Π΅ Π·Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ JavaScript ΠΊΠΎΠ΄ Π² pac-resolver Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ VM API, прСдоставСн Π² Node.js, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ JavaScript ΠΊΠΎΠ΄ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ контСкст Π½Π° двигатСля V8.

ΠŸΠΎΡΠΎΡ‡Π΅Π½ΠΈΡΡ‚ API Π΅ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ Π² докумСнтацията ΠΊΠ°Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° изпълнСниС Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΊΠΎΠ΄, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π΅ осигурява пълна изолация Π½Π° изпълнявания ΠΊΠΎΠ΄ ΠΈ позволява Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ оригиналния контСкст. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ Ρ€Π΅ΡˆΠ΅Π½ Π² pac-resolver 5.0.0, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ прСмСстСн Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° vm2, която осигурява ΠΏΠΎ-високо Π½ΠΈΠ²ΠΎ Π½Π° изолация, подходящо Π·Π° изпълнСниС Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΊΠΎΠ΄.

Уязвимост Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π° pac-resolver NPM с 3 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° изтСгляния Π½Π° сСдмица

ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° уязвима вСрсия Π½Π° pac-resolver, нападатСлят Ρ‡Ρ€Π΅Π· ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° спСциално ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ PAC Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° постигнС изпълнСниС Π½Π° своя JavaScript ΠΊΠΎΠ΄ Π² контСкста Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ Node.js, Π°ΠΊΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ зависимости с pac-Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅Π». Най-популярната ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π΅ Proxy-Agent, посочСна ΠΊΠ°Ρ‚ΠΎ зависимост ΠΎΡ‚ 360 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ urllib, aws-cdk, mailgun.js ΠΈ firebase-tools, с ΠΎΠ±Ρ‰ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Ρ‚Ρ€ΠΈ ΠΌΠΈΠ»ΠΈΠΎΠ½Π° изтСгляния Π½Π° сСдмица.

Ако ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠΌΠ° зависимости ΠΎΡ‚ pac-resolver, Π·Π°Ρ€Π΅Π΄ΠΈ PAC Ρ„Π°ΠΉΠ», прСдоставСн ΠΎΡ‚ систСма, която ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° прокси WPAD, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π°ΠΏΠ°Π΄Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ с Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ разпространСниСто Π½Π° настройкитС Π½Π° прокси Ρ‡Ρ€Π΅Π· DHCP, Π·Π° Π΄Π° Π²ΠΌΡŠΠΊΠ½Π°Ρ‚ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ PAC Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€