Atakujący uzyskali kontrolę nad pakietem NPM coa i wydali aktualizacje 2.0.3, 2.0.4, 2.1.1, 2.1.3 i 3.1.3, zawierające złośliwe zmiany. Pakiet coa, który oferuje funkcje do analizy argumentów wiersza poleceń, ma około 9 mln pobrań tygodniowo i jest używany jako zależność przez 159 innych pakietów NPM, w tym react-scripts i vue/cli-service. Administracja NPM już usunęła wydanie z złośliwymi zmianami i zablokowała publikację nowych wersji do czasu przywrócenia dostępu do repozytorium głównego dewelopera.
Atak został przeprowadzony poprzez włamanie do konta dewelopera projektu. Dodane złośliwe zmiany są podobne do tych, które zostały użyte w ataku sprzed dwóch tygodni na użytkowników pakietu NPM UAParser.js, ale ograniczone tylko do platformy Windows (w blokach pobierania dla Linux i macOS pozostawiono puste miejsca). Na systemie użytkownika z zewnętrznego hosta był ładowany i uruchamiany plik wykonywalny do wydobywania kryptowaluty Monero (użyto górnika XMRig) oraz instalowana była biblioteka do przechwytywania haseł.
Podczas formowania pakietu z złośliwym kodem doszło do błędu, który powodował awarię podczas instalacji pakietu, dlatego problem został szybko zidentyfikowany i rozprzestrzenienie złośliwej aktualizacji zostało zablokowane na wczesnym etapie. Użytkownicy powinni upewnić się, że mają zainstalowaną wersję coa 2.0.2 i najlepiej dodać do package.json swoich projektów odniesienie do funkcjonującej wersji na wypadek ponownej kompromitacji. npm i yarn: "resolutions": { "coa": "2.0.2" }, pnpm: "pnpm": { "overrides": { "coa": "2.0.2" } },
Źródło: opennet.ru
