Уязвимость, позволявшая выпустить обновление для любого пакета в репозитории NPM

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
16-Ноя-2021 16:30

Компания GitHub раскрыла информацию о двух инцидентах в инфраструктуре репозитория пакетов NPM. 2 ноября сторонние исследователи безопасности (Kajetan Grzybowski и Maciej Piechota) в рамках программы Bug Bounty сообщили о наличии в репозитории NPM уязвимости, позволяющей опубликовать новую версию любого пакета, используя для этого свою учётную запись, не авторизированную для выполнения подобных обновлений.
Уязвимость была вызвана некорректной проверкой полномочий в коде микросервисов, обрабатывающих запросы к NPM. Сервис авторизации выполнял проверку прав доступа к пакетам на основе данных, передаваемых в запросе, но другой сервис, загружающий обновление в репозиторий, определял пакет для публикации на основе содержимого метаданных в загруженном пакете. Таким образом, атакующий мог запросить публикацию обновления для своего пакета, к которому он имеет доступ, но указать в самом пакете информацию о другом пакете, который и был бы в итоге обновлён.
Проблема была устранена через 6 часов после появления информации об уязвимости, но уявзвимость присутствовала в NPM дольше, чем охватывают логи с телеметрией. GitHub утверждает, что следов совершения атак с использованием данной уязвимости с сентября 2020 года не зафиксировано, но нет гарантий, что проблема не экслуатировалась раньше.
Второй инцидент произошёл 26 октября. В ходе технических работ с базой данной сервиса replicate.npmjs.com было выявлено присутствие в доступной для внешних запросов БД конфиденциальных данных, раскрывающих информацию об именах внутренних пакетов, которые упоминались в логе изменений. Информация о подобных именах может быть использована для совершения атак на зависимости во внутренних проектах (в феврале подобная атака позволила выполнить код на серверах PayPal, Micrоsoft, Apple, Netflix, Uber и ещё 30 компаний).
Кроме того, в связи с участившимися случаями захвата репозиториев крупных проектов и продвижения вредоносного кода через компрометацию учётных записей разработчиков, компания GitHub приняла решение ввести обязательную двухфакторную аутентификацию. Изменение вступит в силу в первом квартале 2022 года и будет распространяться на сопровождающих и администраторов пакетов, включённых в список наиболее популярных. Дополнительно сообщается о модернизации инфраструктуры, в которой будет внедрён автоматизированный мониторинг и анализ новых версий пакетов для раннего выявления вредоносных изменений.
Напомним, что в соответствии с проведённым в 2020 году исследованием, лишь 9.27% мэйнтенеров пакетов используют для защиты доступа двухфакторную аутентификацию, а в 13.37% случаев при регистрации новых учётных записей разработчики пытались повторно использовать скомпрометированные пароли, фигурирующие в известных утечках паролей. В ходе проверки надёжности используемых паролей удалось получить доступ к 12% аккаунтов в NPM (13% пакетов) из-за использования предсказуемых и тривиальных паролей, таких как "123456". В числе проблемных оказались 4 учётные записи пользователей из Top20 самых популярных пакетов, 13 учётных записей, пакеты которых загружали более 50 млн раз в месяц, 40 - более 10 млн загрузок в месяц и 282 с более 1 млн загрузок в месяц.
С учётом загрузки модулей по цепочке зависимостей, компрометация ненадёжных учётных записей могла поразить в сумме до 52% от всех модулей в NPM.
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_npm
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 06-Май 15:07
Часовой пояс: UTC + 5