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

Утечка данных клиентов приложений для слежки затронула 500 тыс. записей

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

Речь идёт о данных пользователей сервисов Geofinder, uMobix, Peekviewer (бывший Glassagram) и ряда других приложений для мониторинга и трекинга.

Все они предоставляются одним и тем же вендором — компанией Struktura, зарегистрированной на территории Украины. В утёкшей базе также оказались платёжные записи сервиса Xnspy, уже известного по крупным утечкам в прошлые годы.

Как выяснили в TechCrunch, в базе содержится около 536 тысяч строк с данными клиентов. Среди них — адреса электронной почты, название сервиса, за который платил пользователь, сумма платежа, тип банковской карты (Visa или Mastercard) и последние четыре цифры карты. Дат платежей в наборе данных не было.

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

Журналисты TechCrunch проверили утечку несколькими способами. В частности, они использовали одноразовые почтовые ящики с публичным доступом, которые встречались в базе, и через функции восстановления пароля подтвердили, что такие аккаунты действительно существуют.

Дополнительно проверялись уникальные номера счетов, которые совпали с данными, доступными на страницах оплаты сервисов — причём без необходимости проходить аутентификацию. Это указывает на серьёзные проблемы с безопасностью у поставщика.

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

Приложения вроде uMobix и Xnspy после установки на телефон жертвы передают третьим лицам практически всё содержимое устройства: сообщения, звонки, фотографии, историю браузера и точные данные о местоположении.

При этом такие сервисы открыто рекламировались как инструменты для слежки за супругами и партнёрами, что во многих странах прямо нарушает закон.

Это далеко не первый случай, когда разработчики stalkerware теряют контроль над данными, как клиентов, так и самих жертв слежки. За последние годы десятки подобных сервисов становились жертвами взломов или утечек из-за элементарных ошибок в защите.

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

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