Share This
Связаться со мной
Крути в низ
Categories
//В популярной NPM-библиотеке netmask обнаружена критическая уязвимость

В популярной NPM-библиотеке netmask обнаружена критическая уязвимость

30.03.2021Category : My Habr

В популярном npm-пакете node-netmask нашли уязвимость, которая позволяет обойти ограничение доступа к IP-адресам и провести атаку SSRF, RFI или LFI на приложение на базе Node.js. Уже выпущен патч.

v populjarnoj npm biblioteke netmask obnaruzhena kriticheskaja ujazvimost f7fa686 - В популярной NPM-библиотеке netmask обнаружена критическая уязвимость

Библиотека выполняет парсинг IP-адресов при обращении к сетевым ресурсам через приложение. С ней работают более 279 тысяч проектов на GitHub.

Уязвимость CVE-2021-28918 спровоцирована ошибкой в реализации проверки входных данных. Она проявляется при обработке IP-адресов смешанного формата.

Спецификации IETF предполагают, что адреса IPv4 в текстовом виде могут быть представлены в том числе в десятичном и восьмеричном форматах. В последнем строковое значение адреса начинается с нуля. Браузеры обычно отслеживают префикс «0» в адресной строке и автоматически совершают перевод IP-адреса в десятичный формат. Однако netmask отбрасывает префикс и обрабатывает все части адреса как десятичные числа.

Это позволяет хакерам запросить ресурс, указав IP-адрес как 0177.0.0.1, и тогда уязвимый модуль обработает его как внешний адрес 177.0.0.1. Уязвимое приложение может загрузить ресурс в обход запретов. Кроме того, при обращении к приложению на базе Node.js хакер может указать localhost-адрес как 0127.0.0.1, и тогда модуль netmask обработает его как публичный 127.0.0.1.

Уязвимость позволяет также обойти проверку разрешений на доступ к интранет-адресам, VPN, контейнерам и узлам локальной сети путем ввода IP-адреса 012.0.0.1 (10.0.0.1), который воспринимается как 12.0.0.1.

Подобного рода уязвимости опасны возможностью атак динамического подключения файлов с других серверов, включения в цепочку выполнения локальных файлов и подмены адресов на стороне сервера.

  • 5 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close