Zlonamjerni kod pronađen u instalacijskom programu purescript npm

npm purescript

Prije nekoliko dana zlonamjerni kod otkriven je u ovisnostima npm paketa s instalacijskim programom PureScript, što se očituje prilikom pokušaja instaliranja paketa purescript.

Zlonamjeran kod ugrađen putem zavisnosti load-from-cwd-or-npm i zavisnosti mape brzine. Treba imati na umu da je originalni autor npm paketa s instalatorom PureScript, koji je donedavno bio uključen u održavanje ovog npm paketa, ali je paket poslan drugim održavačima, odgovoran za praćenje paketa s ovim ovisnostima.

O problemu

Problem je otkrio jedan od novih analitičara paketa, na kojeg su nakon mnogih nesuglasica i ružnih rasprava s originalnim autorom npm purescript paketa prenesena prava na održavanje.

Novi održavatelji odgovorni su za PureScript kompajler i inzistirali su na tome da NPM paket sa svojim instalatorom trebaju popraviti sami održavatelji, a ne programer izvan projekta.

Autor npm paketa s instalatorom PureScript dugo se nije slagao, ali je onda odustao i dao pristup spremištu. Međutim, neke zavisnosti su ostale pod njegovom kontrolom.

Prošle sedmice najavljeno je izdanje kompajlera PureScript 0.13.2 a novi održavači su s instalatorom pripremili odgovarajuće ažuriranje npm paketa, za koji je otkriven zlonamjerni kod.

Zlonamjerni kod prvi je umetnut u npm paket "load-from-cwd-or-npm" u verziji 3.0.2, a zatim u paketu map-rate iz verzije 1.0.3. Posljednjih dana objavljeno je nekoliko verzija oba paketa.

Pomaknut sa posta koji prati autora npm paketa s instalatorom PureScript, rekao je da su nepoznati napadači ugrozili njegov račun.

Međutim, u trenutnom obliku, akcije zlonamjernog koda bile su ograničene samo sabotiranjem instalacije paketa, što je bila prva verzija novih održavača. Zlonamjerne radnje izložene su prilikom pokušaja instaliranja paketa s naredbom "npm i -g purescript" bez izvođenja bilo kakve eksplicitne zlonamjerne aktivnosti.

Utvrđena su dva napada

Ukratko, kôd sabotira instalacijski program purescript npm kako bi spriječio dovršavanje preuzimanja, što dovodi do prekida instalacijskog programa tijekom koraka "Provjerite je li za vašu platformu predviđen prekompajlirani binarni program".

Prva eksploatacija je to učinila razbijanjem paketa load-from-cwd-or-npm tako da bi svaki poziv loadFromCwdOrNpm () vratio prolaznu sekvencu umjesto očekivanog paketa (u ovom slučaju paket zahtjeva koji smo koristili za preuzimanje binarnih datoteka kompajlera). Druga ponavljanja eksploatacije to je učinila izmjenom izvorne datoteke kako bi se spriječilo pokretanje povratnog poziva za preuzimanje.

4 dana kasnije programeri su razumjeli izvor nedostataka i pripremali su se da objave ispravku koja će izuzeti load-from-cwd-o-npm iz zavisnosti, napadači su objavili još jedno ažuriranje load-from-cwd-or-npm 3.0.4, gdje je zlonamjerni kod uklonjen.

Međutim, skoro je odmah objavljeno ažuriranje druge ovisnosti Rate-Map 1.0.3, u kojem je dodano ispravljanje koje blokira povratni poziv za preuzimanje.

Odnosno, u oba slučaja promjene u novim verzijama load-from-cwd-or-npm i brzine mape bile su prirode očiglednog odstupanja.

Također, u zlonamjernom kodu postojala je provjera koja je pokrenula neuspjele radnje samo prilikom instaliranja verzije novih održavača i uopće se nije pojavila prilikom instaliranja prethodnih verzija.

Programeri su problem riješili izdavanjem ažuriranja u kojem su uklonjene problematične ovisnosti.

Da biste spriječili instaliranje ugroženog koda na korisničke sisteme nakon pokušaja instaliranja problematične verzije PureScript-a.

Konačno programer preporučuje svima koji imaju spomenute verzije paketa na svom sistemu uklonite sadržaj direktorija node_modules i datoteka package-lock.json, a zatim postavite purescript verziju 0.13.2.


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.