В репозиторий на NPM е открита уязвимост, която позволява на собственика на пакета да добави всеки потребител в списъка на поддържащите, без да получи съгласие от него и без да информира за извършеното действие. Проблемът се усложнява от факта, че след добавянето на страничен потребител, първоначалният автор на пакета може да се премахне от списъка, оставяйки страничния потребител единствения отговорен за пакета.
Тази уязвимост би могла да бъде използвана от създатели на злонамерени пакети, за да добавят известни разработчици или големи компании в списъка на поддържащите, с цел повишаване на доверието на потребителите и създаване на илюзия, че реномирани разработчици отговарят за пакета, въпреки че всъщност нямат нищо общо с него и дори не са наясно с съществуването му. Например, атакуващ може да разпространи злонамерен пакет, да смени поддържащия и да покани потребители да тестват нова разработка на голяма компания. Уязвимостта също може да се използва за уронване на репутацията на определени разработчици, представяйки ги като инициатори на съмнителни действия и злонамерени действия.
Компанията GitHub бе уведомена за проблема на 10 февруари и го отстрани в npmjs.com на 26 април, като въведе задължително потвърждение от потребителите за съгласие за присъединяване към друг проект. На разработчиците на много пакети NPM е препоръчано да проверят дали в списъка на принадлежащите им пакети не съществуват връзки, добавени без тяхното съгласие.
Източник: opennet.ru
