PureScript'i paigalduspakettide sÔltuvustes kahjulik kode, mis ilmneb paketi paigaldamise katsete ajal . Kahjulik kood on integreeritud kaudu sÔltuvuste ja . 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 , 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
