NPM-пакет с миллионными загрузками можно угнать из-за уязвимости

NPM-пакет с миллионными загрузками можно угнать из-за уязвимости

NPM-пакет с миллионными загрузками можно угнать из-за уязвимости

В популярном npm-пакете с 3,5 млн еженедельных загрузок нашли уязвимость, которая может привести к перехвату учётной записи. О проблеме рассказали исследователи из компании Illustria, которым удалось с помощью бага сбросить пароль GitHub-аккаунта.

«Контроль над пакетом можно перехватить, восстановив истёкшее доменное имя одного из мейнтейнеров и сбросив пароль», — гласит отчёт Illustria.

Как правило, защитные механизмы npm позволяют использовать только один адрес электронной почты аккаунта. Тем не менее специалистам Illustria удалось восстановить пароль от целевой учётной записи с помощью интересной лазейки.

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

Атакующим может помочь функциональность GitHub Action, подразумевающая, что в репозитории изменённые версии пакетов будут публиковаться автоматически при изменении кода.

«Даже если для аккаунта мейнтейнера настроена двухфакторная аутентификация, токен автоматизации обойдёт её», — объясняет Богдан Кортнов, сооснователь Illustria.

 

Illustria пока не раскрывает имя пакета, но уже сообщила ответственным лицам о проблеме.

Подпишитесь на новости

VPN через VK, MAX и DNS: Rawline собрал разные туннели в одном клиенте

Когда один способ подключения перестаёт работать, начинается перебор приложений: здесь VLESS, там DNS-туннель, отдельно — транспорт через звонки. Разработчик Rawline решил собрать этот набор в одном клиенте для Android, Windows, Linux и macOS. За основу взяты Throne и сетевые ядра sing-box и Xray.

Как устроен проект и какие проблемы безопасности пришлось решать, автор рассказал на Хабре.

Помимо привычных VPN-протоколов, Rawline поддерживает нестандартные транспорты через звонки VK и MAX, WebRTC, DNS и S3. Все подключения представлены обычными профилями, их можно импортировать по ссылке или QR-коду, проверять пинг, объединять в цепочки и настраивать маршрутизацию по приложениям и доменам. Работоспособность конкретного способа при ограничениях придётся проверять на своей сети.


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


В Rawline разработчик убрал лишние прокси-входы, защитил внутренние соединения случайными паролями и добавил проверку принадлежности трафика приложениям. Последняя защита включена по умолчанию на Android 10 и новее.

При проверке также обнаружилась проблема в нескольких транспортных мостах: постороннее приложение могло первым отправить UDP-пакет и перехватить канал. Автор сообщает, что исправил её и добавил тесты. Код и сборки опубликованы на GitHub.

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