Ранливост Π²ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ NPM со 3 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ° Π½Π΅Π΄Π΅Π»Π½ΠΎ

ΠŸΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ NPM-Ρ€Π΅Π·ΠΎΠ»Π°Ρ‚ΠΎΡ€ Π½Π° pac, кој ΠΈΠΌΠ° Π½Π°Π΄ 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, која ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° повисоко Π½ΠΈΠ²ΠΎ Π½Π° ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π° ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½Π΅Π΄ΠΎΠ²Π΅Ρ€Π»ΠΈΠ² ΠΊΠΎΠ΄.

Ранливост Π²ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ NPM со 3 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ° Π½Π΅Π΄Π΅Π»Π½ΠΎ

Кога користи Ρ€Π°Π½Π»ΠΈΠ²Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° pac-resolver, Π½Π°ΠΏΠ°Ρ“Π°Ρ‡ΠΎΡ‚ ΠΏΡ€Π΅ΠΊΡƒ прСнос Π½Π° ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½Π° PAC-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° постигнС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ JavaScript ΠΊΠΎΠ΄ Π²ΠΎ контСкст Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Node.js, Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ овој ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ користи Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΈ ΠΈΠΌΠ°Π°Ρ‚ зависности со pac-resolver. ΠΠ°Ρ˜ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½Π°Ρ‚Π° ΠΎΠ΄ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π΅ Proxy-Agent, Π½Π°Π²Π΅Π΄Π΅Π½Π° ΠΊΠ°ΠΊΠΎ зависност ΠΎΠ΄ 360 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ urllib, aws-cdk, mailgun.js ΠΈ firebase-tools, со Π²ΠΊΡƒΠΏΠ½ΠΎ повСќС ΠΎΠ΄ Ρ‚Ρ€ΠΈ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ° Π½Π΅Π΄Π΅Π»Π½ΠΎ.

Ако Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° која ΠΈΠΌΠ° зависност ΠΎΠ΄ Pac-resolver Π²Ρ‡ΠΈΡ‚Π° PAC-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΠΎΠ΄ систСм кој Π³ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ Π·Π° автоматска ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° прокси WPAD, Ρ‚ΠΎΠ³Π°Ρˆ Π½Π°ΠΏΠ°Ρ“Π°Ρ‡ΠΈΡ‚Π΅ со пристап Π΄ΠΎ Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° ја користат Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° поставкитС Π·Π° прокси ΠΏΡ€Π΅ΠΊΡƒ DHCP Π·Π° Π΄Π° Π²ΠΌΠ΅Ρ‚Π½Π°Ρ‚ ΠΌΠ°Π»ΠΈΡ†ΠΈΠΎΠ·Π½ΠΈ PAC-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€