Как стать автором
Обновить

Пакет pac-resolver с 3 млн загрузок закрыл серьезную уязвимость

Время на прочтение1 мин
Количество просмотров958

В пакете pac-resolver с тремя миллионами загрузок еженедельно обнаружена уязвимость, которая позволяла выполнять произвольный код в проекте Node.js всякий раз, когда он пытается сделать HTTP-запрос. Уязвимость затрагивала приложения Node.js с функцией автонастройки прокси-сервера.

Pac-resolver представляет собой NPM-пакет, который принимает и обрабатывает файлы конфигурации прокси-сервера и сопоставляет определенные домены с использованием прокси. Файлы PAC содержат код JavaScript с функцией FindProxyForURL, которая определяет, какие запросы проходят через прокси, а какие напрямую, в зависимости от хоста и запрашиваемого URL.

Проблему обнаружил разработчик Тим Перри. Она связана с тем, как pac-resolver обрабатывает файлы автоконфигурации прокси. Уязвимость, которой присвоен идентификатор CVE-2021-23406, позволяет злоумышленнику удаленно выполнить свой JavaScript-код в проекте Node.js при условии, что в проекте используются связанные с зависимостями пакета pac-resolver библиотеки. 

Как указывает Тим Перри, одна из таких библиотек — чрезвычайно популярная Proxy-Agent.

«Proxy-Agent используется повсюду: от инструментария AWS CDK и Mailgun SDK до интерфейса командной строки Firebase (около 3 миллионов загрузок в неделю и 285 тысяч общедоступных репозиториев на GitHub)», — пишет разработчик.

Уязвимость устранена в версии pac-resolver 5.0.0, которая использует библиотеку vm2, где реализован механизм песочницы для «предотвращения повышения привилегий ненадежного кода».

Теги:
Хабы:
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Другие новости