PureScript'i installeriga npm-paketi sõltuvustes tuvastati pahatahtlikud muudatused.

PureScript'i paigalduspakettide sõltuvustes tuvastati kahjulik kode, mis ilmneb paketi paigaldamise katsete ajal purescript. Kahjulik kood on integreeritud kaudu sõltuvuste load-from-cwd-or-npm ja rate-map. Märkimisväärne on see, et nende sõltuvustega pakette haldab algne autor npm-paketist PureScript'i paigaldamiseks, kes on seni selle npm-paketiga tegelenud, kuid umbes kuu aega tagasi anti paket teiste haldajate kätte.

Probleemi avastas üks uue haldaja meeskonna liikmetest, kellele õigused haldamiseks anti pärast mitmeid eriarvamusi ja ebameeldivaid arutelusid algse npm-paketi autoriga purescript. Uued haldajad vastutavad PureScript'i kompilaatori eest ja nõudsid, et npm-pakett koos paigaldajaga peaks olema ühendatud samade haldajatega, mitte kolmandate osalistega. Algne npm-paketi autor PureScript'i paigaldamiseks ei olnud kaua nõus, kuid lõpuks alla vandus ja andis enda repository juurde ligipääsu. Samas jäid mõned sõltuvused siiski tema kontrolli alla.

Eelmisel nädalal anti välja PureScript'i kompilaatori versioon 0.13.2 ja
Uute hooldajate poolt valmistati ette vastav npm-paketi uuendus, mille installijasse oli tuvastatud pahatahtlik kood. Pahatahtliku installija npm-paketi hooldaja postitusest eemaldatud autor teatas, et tema konto oli tundmatute ründajate poolt komprimeeritud. Sellegipoolest olid pahatahtliku koodi tegevused praeguses vormis piiratud ainult paketi installimise sabotaažiga, mis oli uute hooldajate esimene versioon. Pahatahtlikud tegevused piirdusid tsükli tekitamisega, mille tagajärjel ilmnes viga, kui proovida installida paketti käsuga „npm i -g purescript”, ilma et oleks tehtud selgelt pahatahtlikku tegevust.

Avastati kaks rünnakut. Mõni tund pärast uue npm-paketi purescript ametlikku väljaandmist loodi keegi uus versioon sõltuvusest load-from-cwd-or-npm 3.0.2, mille muudatused viisid selleni, et loadFromCwdOrNpm() kutsumise asemel, mis tagasi andis vajalikud binaarfailid installimiseks, tagastati voog PassThrough, mis peegeldas sisendpäringuid väljundväärtustena.

Neli päeva pärast seda, kui arendajad selgitasid tõrgete allikaid ja valmistusid välja laskma uuendust, mis eemaldab load-from-cwd-or-npm sõltuvused, avaldasid kurjategijad veel ühe uuenduse load-from-cwd-or-npm 3.0.4, milles pahavara oli eemaldatud. Siiski ilmus peaaegu kohe välja ka raamistiku teine sõltuvus rate-map 1.0.3, milles lisati parandused, mis blokeerisid callback-kutsed laadimist. Seega olid mõlemas versioonis load-from-cwd-or-npm ja rate-map muudatused ilmselgelt saboteerimise iseloomuga. Veelgi enam, pahavara koodis oli kontroll, mis aktiveeris rikkeid ainult uute versioonide paigaldamisel, ega ilmunud vanade versioonide installeerimisel.

Arendajad lahendasid probleemi, välja lastes uuenduse, milles probleemsed sõltuvused eemaldati. Et vältida kompromiteeritud koodi jäämist kasutajate süsteemidesse pärast probleemse versiooni installatsiooni, soovitatakse eemaldada katalooge node_modules ja faile package-lock.json, seejärel seadistada purescript versiooniks 0.13.2.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster