Критическая уязвимость в node-netmask затрагивает 279 тысяч приложений

Критическая уязвимость в node-netmask затрагивает 279 тысяч приложений

Критическая уязвимость в node-netmask затрагивает 279 тысяч приложений

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

Библиотека netmask выполняет парсинг IP-адресов при обращении к сетевым ресурсам через приложение. На этот компонент полагаются свыше 279 тыс. проектов на GitHub; из репозитория npm его еженедельно скачивают по 3 млн раз и более.

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

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

Как оказалось, netmask эту особенность не учитывает и попросту отбрасывает начальный 0, обрабатывая все части адреса как десятичные числа. Злоумышленник может, например, запросить ресурс, указав IP-адрес как 0177.0.0.1 (эквивалентно 127.0.0.1 — кольцевому адресу, возвращающему к локальному хост-компьютеру), и уязвимый модуль обработает его как внешний адрес 177.0.0.1. В итоге использующее netmask приложение не уловит тождества 0177.0.0.1 и 127.0.0.1 и загрузит ресурс в обход возможных запретов.

Точно так же при обращении к приложению на базе Node.js автор атаки может указать localhost-адрес как 0127.0.0.1 (соответствует десятичному 87.0.0.1). Модуль netmask обработает его как публичный 127.0.0.1, и искомый доступ будет получен.

 

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

Обнаружившие проблему исследователи отметили, что она «катастрофична», так как возможность манипуляции значениями IP-адресов на уровне ввода грозит атаками типа RFI (Remote File Inclusion, динамическое подключение файлов с других серверов), LFI (Local File Inclusion, включение в цепочку выполнения локальных файлов) и SSRF (подмена адресов на стороне сервера).

Патч для netmask вышел десять дней назад в составе сборки 2.0.0 пакета; разработчикам приложений настоятельно рекомендуется обновить зависимости в коде.

95% компаний назвали контроль доступа главной функцией защиты контейнеров

95% компаний считают управление правами доступа важнейшей функцией безопасности контейнерных сред. Такие результаты показал опрос среди зрителей и участников эфира AM Live «Безопасность контейнерных сред: что реально работает в 2026 году».

Именно контроль доступа оказался наиболее востребованной функцией среди всех механизмов защиты. Его назвали важным 95% участников опроса — заметно больше, чем любые другие инструменты.

На втором месте оказалось управление секретами с 78%, а далее — управление уязвимостями и контроль целостности, которые набрали по 65%.

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

При этом другие функции, связанные с наблюдением за поведением системы, оказались менее востребованными. Так, мониторинг runtime назвали важным только 35% респондентов, а контроль сетевого трафика — 31%. Это может говорить о том, что многие компании пока сосредоточены на базовых механизмах защиты и управлении доступом, тогда как более сложные инструменты поведенческого анализа внедряются позже.

В целом эксперты назвали такие результаты ожидаемыми, однако их удивило, что к контролю трафика прибегают менее трети компаний. Среди возможных причин они назвали сложность и высокую стоимость внедрения. Кроме того, было отмечено, что в некоторых случаях кластер Kubernetes размещается в закрытом контуре, из-за чего необходимость в отдельном мониторинге трафика снижается.

Интересно, что подход к безопасности во многом зависит и от того, какие платформы используют компании для контейнеризации. Почти половина участников опроса, 47%, сообщили, что дорабатывают контейнерные технологии на базе open-source решений. Ещё 35% используют «ванильные» инструменты контейнеризации без серьёзных модификаций, а 31% применяют российские коммерческие платформы.

Менеджер продукта Deckhouse Kubernetes Platform по направлению информационной безопасности во «Флант» Алексей Крылов отметил, что многие компании, вероятнее всего, используют гибридные варианты, переезжают с западных систем и пока находятся на этапе оптимизации своих платформ.

Кроме того, глава DevOps-департамента Luntry Станислав Проснеков указал, что в «ванильных» системах не хватает средств управления учётными записями. Из-за этого многим компаниям может быть сложно с ними работать, в том числе из-за недостаточной прозрачности таких решений.

Опрос также показал тенденцию к комбинированию инструментов защиты. 48% компаний используют встроенные механизмы безопасности платформ вместе с дополнительными open-source средствами. Ещё 29% сочетают встроенные функции коммерческих платформ с дополнительными инструментами.

RSS: Новости на портале Anti-Malware.ru