Критическая уязвимость в 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, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Администрация Telegram передала данные 33 тыс. пользователей

С сентября 2024 года администрация Telegram передала данные более 33 тысяч пользователей, включая IP-адреса и номера телефонов, по запросам правоохранительных органов 29 стран. Наибольшее число запросов поступило от властей Индии, Германии, США, Франции и Бразилии.

Эти данные были собраны с использованием официального бота @transparency, а затем агрегированы группой энтузиастов на специально созданной GitHub-странице.

До сентября 2024 года Telegram редко сотрудничал с правоохранительными органами, делая исключения только для случаев, связанных с террористической деятельностью. До 30 сентября мессенджер удовлетворил всего 14 запросов, касающихся 108 пользователей.

Однако в сентябре 2024 года политика Telegram изменилась. Это произошло спустя месяц после ареста Павла Дурова во Франции. Новая политика гласила:

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

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

«Мы оптимизировали и унифицировали нашу политику конфиденциальности в разных странах. Однако наши ключевые принципы остаются неизменными. Мы всегда стремились соблюдать местные законы, если они не противоречат нашим ценностям свободы и конфиденциальности, — прокомментировал изменения Павел Дуров. — Telegram был создан для защиты активистов и обычных людей от коррумпированных правительств и корпораций. Однако мы не позволяем преступникам злоупотреблять нашей платформой или уходить от правосудия».

Согласно статистике Telegram, почти половина всех запросов поступила из Индии. Значительное число обращений также пришло от властей США, Бразилии и стран ЕС, особенно Германии и Франции. При этом данные о запросах со стороны российских властей в статистике отсутствуют.

Кроме того, администрация Telegram заблокировала более 15 миллионов групп и каналов, нарушавших правила мессенджера. Это привело к массовой миграции преступников с платформы уже к концу октября.

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

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