Критическая уязвимость в 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 пакета; разработчикам приложений настоятельно рекомендуется обновить зависимости в коде.

Экс-глава подрядчика Пентагона продал России 0-day эксплойт

Бывший руководитель американской компании, разрабатывающей инструменты для взлома и слежки, признал вину в краже и продаже кибершпионских технологий. Речь идёт о 39-летнем австралийце Питере Уильямсе, который возглавлял подразделение Trenchant (входит в оборонный концерн L3Harris).

По данным Минюста США, с 2022 по 2025 год Уильямс продал восемь инструментов для эксплуатации уязвимостей и заработал на этом более $1,3 млн в криптовалюте.

В октябре он признал вину, а 24 февраля в федеральном суде Вашингтона ему должны вынести приговор.

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

Речь идёт о так называемых 0-day — уязвимостях, о которых производители софта ещё не знали и, соответственно, не успели выпустить патчи. По версии следствия, технологии были проданы российскому брокеру эксплойтов, среди клиентов которого есть структуры, якобы связанные с российским государством.

В судебных документах говорится, что действия Уильямса «нанесли прямой ущерб» американскому разведсообществу. Прокуроры требуют для него девять лет лишения свободы, три года надзора после освобождения, штраф до $250 тыс. и компенсацию ущерба в размере $35 млн. После отбытия срока Уильямса планируют депортировать в Австралию.

Сам он направил судье письмо с признанием ошибок. Уильямс пишет, что нарушил доверие семьи и коллег и сожалеет о своих решениях. Его адвокат, в свою очередь, настаивает, что проданные инструменты не были засекречены, а доказательств того, что обвиняемый знал о конечных государственных заказчиках, нет. По словам защиты, Уильямс не стремился навредить США или Австралии, хотя теперь понимает последствия.

История получила дополнительный резонанс из-за внутреннего расследования в самой Trenchant. По данным следствия, ФБР контактировало с Уильямсом с конца 2024 года и до его ареста в 2025-м. Несмотря на это, он продолжал продавать инструменты.

Более того, под его руководством был уволен сотрудник, которого компания заподозрила в утечке. Позднее прокуратура указала, что именно Уильямс был причастен к краже, а подчинённый фактически стал «козлом отпущения». Сам уволенный сотрудник ранее заявлял, что считает себя несправедливо обвинённым. Спустя несколько недель после увольнения он получил уведомление от Apple о возможной атаке с использованием государственного шпионского софта.

По данным следствия, покупателем инструментов могла быть компания Operation Zero — брокер эксплойтов, публично предлагающий до $20 млн за инструменты для взлома Android и iPhone и заявляющий, что работает исключительно с российскими госструктурами. В материалах дела брокер прямо не назван, но прокуроры описывают его как «одного из самых опасных в мире».

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