Срочно. Недостаток сетевой маски может позволить хакерам обойти контроль доступа в системах

Уязвимость может сделать тысячи сетей открытыми для подделки запросов на стороне сервера

Исследователи безопасности обнаружили ошибку в сетевой маске сетевой библиотеки npm, которая позволяет хакерам обходить средства контроля доступа серверов и запускать атаки подделки запросов на стороне сервера.

Срочно. Недостаток сетевой маски может позволить хакерам обойти контроль доступа в системах

Недостаток сетевой маски может позволить хакерам обойти контроль доступа в системах. Фото: Pixabay

По данным исследователей из Sick Codes , сотни тысяч приложений используют этот пакет для анализа или сравнения адресов IPv4 и блоков бесклассовой междоменной маршрутизации (CIDR).

Проблема серьёзна, потому что более 278 тыс.  репозиториев GitHub используют код, который пользователи загрузили более трёх миллионов раз только на прошлой неделе. Исследователи заявили, что недостаток существует уже более девяти лет.

Проблема связана с тем, как сетевая маска обрабатывает IP-адреса смешанного формата. При синтаксическом разборе IP-адреса с нулём в начале node-netmask видит другой IP-адрес из-за неправильной проверки на месте.

IP-адрес может быть представлен в различных форматах, включая шестнадцатеричный и целочисленный, хотя наиболее распространённые адреса IPv4 выражаются в десятичном формате. 

Например, IPv4-адрес, представленный в десятичном формате, как 86.136.177.134, может быть выражен в восьмеричном формате как 0126.0210.0261.0206. Если в качестве префикса IPv4-адреса поставить 0, нажатие клавиши ввода или возврата изменит IP-адрес на его десятичный эквивалент, 87.0.0.1, именно так большинство приложений должно обрабатывать такие неоднозначные IP-адреса.

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

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

«Если ваш браузер распознает восьмеричные литералы, а приложение NodeJS - нет, пользователи могут отправлять все виды злонамеренных URL-адресов, которые кажутся внутренними, но на самом деле переходят к удалённым файлам.

С другой стороны, пользователи также могут отправлять URL-адреса, которые кажутся общедоступными, но на самом деле они очень частные! »,— сообщили исследователи.

В ходе атаки злоумышленник может вмешаться в ввод IP-адреса, анализируемый приложением. Проблема может привести к различным другим атакам, от подделки запросов на стороне сервера (SSRF) до удалённого доступа.

Исследователи сообщили об уязвимости разработчику сетевой маски узла Оливье Пуитри, который опубликовал серию исправлений для проблемы с репозиторием GitHub. Эксперты рекомендуют пользователям библиотеки netmask npm обновиться до версии 2.0.0.

Акс Шарма, исследователь безопасности в Sonatype, сказал ITPro, что эта уязвимость означает, что сотни тысяч приложений, которые полагаются на популярные компоненты с открытым исходным кодом потенциально могут быть уязвимы для подделки запросов на стороне сервера (SSRF ), если разработчики  полностью полагаются на сетевую маску для синтаксического анализа IP-адресов, без добавления собственных проверок правильной очистки ввода и нормализации.

«Это подчёркивает необходимость надлежащей гигиены ввода и никогда не доверять вводимым материалам независимо от их источника», — сказал Шарма.

Больше интересного

Актуальное

Zscaler и CrowdStrike объединились для защиты клиентов
В Windows 10 появится папка для чужих драйверов
Срочно. Обнаружен новый мощный троян для устройств Android
Ещё…