Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² NPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ pac-resolver, Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ 3 ΠΌΠ»Π½ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π² нСдСлю

Π’ NPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ pac-resolver, Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ 3 ΠΌΠ»Π½ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π² нСдСлю, выявлСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2021-23406), которая позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ выполнСния своСго JavaScript-ΠΊΠΎΠ΄Π° Π² контСкстС прилоТСния ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ HTTP-запросов ΠΈΠ· Node.js-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ автонастройки прокси-сСрвСра.

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

Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ API явно ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для запуска ΠΊΠΎΠ΄Π°, Π½Π΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ довСрия, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ прСдоставляСт ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ изоляции запускаСмого ΠΊΠΎΠ΄Π° ΠΈ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ контСксту. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° устранСна Π² выпускС pac-resolver 5.0.0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π½Π° использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ vm2, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π±ΠΎΠ»Π΅Π΅ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ изоляции, подходящий для запуска Π½Π΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ довСрия ΠΊΠΎΠ΄Π°.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² NPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ pac-resolver, Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ 3 ΠΌΠ»Π½ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π² нСдСлю

ΠŸΡ€ΠΈ использовании уязвимой вСрсии pac-resolver Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ PAC-Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ выполнСния своСго JavaScript-ΠΊΠΎΠ΄Π° Π² контСкстС ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Node.js,Ссли Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, связанныС зависимостями с pac-resolver. НаиболСС популярной ΠΈΠ· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ явлСятся Proxy-Agent, указанная Π² зависимостях Ρƒ 360 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ urllib, aws-cdk, mailgun.js ΠΈ firebase-tools, Π² суммС Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Ρ‘Ρ… ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π² нСдСлю.

Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, связанноС зависимостями с pac-resolver, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ PAC-Ρ„Π°ΠΉΠ», прСдоствляСмый систСмой с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° автоматичСской настройки прокси WPAD, Ρ‚ΠΎ для подстановки врСдоносных PAC-Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ доступ ΠΊ локальной сСти, ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ распространСниСм настроСк прокси Ρ‡Π΅Ρ€Π΅Π· DHCP.

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