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

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

Перехватывающие трафик VPN-аддоны для Chrome собрали 9 млн установок

Специалисты из LayerX Security обнаружили масштабную кампанию, в рамках которой злоумышленники распространяли «бесплатные VPN» и «блокировщики рекламы» в виде расширений для браузера. На деле эти плагины работали как полноценные шпионские инструменты: перехватывали трафик, перенаправляли пользователя через сторонние серверы, собирали данные о посещённых страницах и даже отключали защитные инструменты.

Кампания тянется уже больше шести лет, а количество установок превысило 9 млн.

Несмотря на неоднократные удаления, те же расширения постоянно возвращаются в Chrome Web Store под новыми именами и с чуть изменённым кодом.

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

LayerX прямо пишет: то, что выглядело обычным «бесплатным VPN», на практике было полноценным инструментом для наблюдения за активностью пользователя в браузере.

Исследователи выделяют три ключевых аддона:

  • VPN Professional – Free Secure and Unlimited VPN Proxy;
  • VPN-free.pro – Free Unlimited VPN;
  • Free Unlimited VPN (версия 2025 года, всё ещё доступна).

 

Совокупно они собрали более 9 млн установок, а свежая версия 2025 года уже набрала свыше 31 тысяч активных пользователей. Оформление, описание и логотипы у всех почти одинаковые — всё сделано, чтобы выглядеть надёжно и профессионально.

В старых версиях вредоносных плагинов (2019-2024) обнаружили массу подозрительных функций: они подменяли методы JavaScript, подгружали конфигурации с нескольких серверов, устанавливали PAC-скрипты для полной маршрутизации трафика через серверы злоумышленников, перехватывали каждый запрос, скрывали собственные редиректы, удаляли себя по команде и удерживали сервис-воркеры активными, чтобы обойти ограничения Manifest V3.

 

Загруженная в июле 2025 года версия стала ещё аккуратнее и сложнее: задерживает активацию, загружает прокси-логику из внешних скриптов, выполняет код удалённо, отключает конкурирующие расширения, хеширует и отправляет посещённые URL и анализирует установленные плагины, чтобы проводить более точечные атаки.

Эксперты подытоживают: эти расширения давали злоумышленникам практически полный доступ к интернет-активности жертвы.

Кроме VPN-плагинов, в кампанию входят ещё шесть якобы «блокировщиков рекламы» и «загрузчиков музыки» — с таким же вредоносным кодом и похожей стилистикой. Всё выглядело достаточно профессионально, поэтому многие пользователи даже не подозревали, что весь их трафик фактически проходил через серверы злоумышленников.

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

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