Найти тему
Проект OpenNet

Уязвимость в репозитории NPM, позволяющая добавить сопровождающего без подтверждения

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

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

Компания GitHub была уведомлена о проблеме 10 февраля и устранила её в npmjs.com 26 апреля через введение обязательного подтверждения у пользователей согласия на присоединение к другому проекту. Разработчикам большого числа пакетов NPM рекомендовано проверить, нет ли в списке принадлежащих им пакетов привязок, добавленных без их согласия.