Баг NPM позволял обелить репутацию вредоносных JavaScript-пакетов

Баг NPM позволял обелить репутацию вредоносных JavaScript-пакетов

Баг NPM позволял обелить репутацию вредоносных JavaScript-пакетов

Специалисты Aqua Security выявили в менеджере пакетов NPM логическую ошибку, из-за которой можно было выдать вредоноса за софт, созданный уважаемым разработчиком. Подобный подлог способен нарушить атмосферу доверия на npmjs.com и открывает возможность для атаки на цепочку поставок.

Исследователи подали отчет о находке в рамках программы GitHub bug bounty в начале февраля. Как оказалось, проблема уже взята на заметку, и над ней работают. В итоге решение было найдено, и вчера, 26 апреля, операторы веб-сервиса отрапортовали, что дефект устранен.

Согласно Aqua, суть проблемы заключалась в следующем. Любой пользователь платформы мог создать и опубликовать вредоносный JavaScript-пакет, добавить пару лиц, ответственных за сопровождение, из числа популярных и доверенных юзеров, а затем удалить себя из этого списка.

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

По словам авторов находки, проблему мог бы решить адекватный механизм подтверждения приглашений — такой, каким пользуются организации при добавлении пользователей NPM или создатели совместных проектов на GitHub. Именно так и поступили операторы npmjs.com — попросту добавили функцию подтверждения для всех новых сопроводителей пакетов.

В GitHub нашли критическую дыру: можно было получить доступ к репозиториям

Исследователи из Wiz обнаружили критическую уязвимость в GitHub, которая позволяла выполнить код на серверной инфраструктуре платформы через обычную команду git push. Проблема получила идентификатор CVE-2026-3854 и затрагивала GitHub[.]com, корпоративный сервер GitHub и несколько облачных корпоративных версий GitHub.

Суть уязвимости была в ошибке обработки пользовательских параметров при git push.

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

Для GitHub Enterprise Server это могло означать полную компрометацию сервера и доступ ко всем репозиториям и внутренним секретам. На GitHub.com риск был ещё больше: из-за общей бэкенд-инфраструктуры злоумышленник теоретически мог получить доступ к миллионам публичных и закрытых репозиториев, расположенных на затронутых узлах.

GitHub быстро закрыл проблему. Патч для GitHub.com развернули 4 марта, а для в GitHub Enterprise Server дыру закрыли 10 марта. По итогам внутреннего расследования корпорация заявила, что признаков эксплуатации уязвимости в реальных атаках не обнаружено.

Однако для корпоративных пользователей риск всё ещё актуален, если они не обновили свои инсталляции GitHub Enterprise Server. По данным Wiz, на момент публикации значительная часть таких серверов всё ещё оставалась без патча. Поэтому администраторам стоит как можно быстрее перейти на обновлённые версии.

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