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 pri pokušaju instalacije paketa purescript.

Zlonamjerni kod ugrađen putem ovisnosti load-from-cwd-or-npm i ovisnosti mape brzine. Treba napomenuti da je izvorni autor npm paketa s instalatorom PureScript, koji je donedavno bio angažiran na održavanju ovog npm paketa, ali je paket poslan ostalim održavateljima, odgovoran za popratne pakete s tim ovisnostima.

O problemu

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

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

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

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

Zlonamjerni kôd prvi je put 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.

Premješten s posta koji prati autora npm paketa s instalacijskim programom PureScript, rekao je da su njegov račun ugrozili nepoznati napadači.

Međutim, u trenutnom obliku, akcije zlonamjernog koda bile su ograničene samo sabotiranjem instalacije paketa, što je bila prva verzija novih održavatelja. Zlonamjerne radnje izložene su prilikom pokušaja instalacije 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 prolazni niz 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 se objaviti ažuriranje za isključivanje load-from-cwd-o-npm iz ovisnosti, napadači su objavili još jedno ažuriranje load-from-cwd-or-npm 3.0.4, gdje je zlonamjerni kod uklonjen.

Međutim, gotovo 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 su slučaja promjene u novim verzijama load-from-cwd-or-npm i brzine karte bile u prirodi prividnog odstupanja.

Također, u zlonamjernom kodu postojala je provjera koja je pokrenula neuspjele radnje samo prilikom instaliranja verzije novih održavatelja i uopće se nije pojavila pri instaliranju 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 sustave, nakon pokušaja instaliranja problematične verzije PureScript-a.

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


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.