Злосторниците успяха да получат контрол над NPM пакета coa и да издадaт обновления 2.0.3, 2.0.4, 2.1.1, 2.1.3 и 3.1.3, които включват злонамерени промени. Пакетът coa, който предоставя функции за анализ на аргументи от командния ред, регистрира около 9 милиона изтегляния седмично и се използва като зависимост от 159 други NPM пакета, включително react-scripts и vue/cli-service. Администрацията на NPM вече е премахнала изданието с злонамерените промени и е блокирала публикуването на нови версии, докато не бъде възстановен достъпът до хранилището на основния разработчик.
Атаката е извършена чрез хакване на акаунта на разработчика на проекта. Добавените злонамерени промени са подобни на тези, използвани в атака, осъществена преди две седмици на потребителите на NPM пакета UAParser.js, но са ограничени до атакуването само на платформата Windows (в блоковете за изтегляне за Linux и macOS са оставени празни заместители). На системата на потребителя от външен хост е изтеглен и стартиран изпълним файл, за да се извърши добив на криптовалута Monero (използван е майнерът XMRig) и е инсталирана библиотека за прихващане на пароли.
При оформянето на пакета със злонамерен код е допусната грешка, която е предизвикала сбой при инсталацията на пакета, така че проблемът е бил бързо идентифициран и разпространението на злонамереното обновление е било блокирано на ранна стадия. Потребителят трябва да се увери, че е инсталирана версия coa 2.0.2 и е желателно да добави в package.json на своите проекти връзка към работеща версия на случай на повторна компрометация. npm и yarn: "resolutions": { "coa": "2.0.2" }, pnpm: "pnpm": { "overrides": { "coa": "2.0.2" }},
Източник: opennet.ru
