Haavatavus, mis võimaldas NPM-i hoidlas oleva mis tahes paketi jaoks värskenduse välja anda

GitHub on avalikustanud kaks juhtumit oma NPM-i pakettide hoidla infrastruktuuris. 2. novembril teatasid kolmanda osapoole turbeuurijad (Kajetan Grzybowski ja Maciej Piechota) programmi Bug Bounty osana NPM-i hoidlas olevast haavatavusest, mis võimaldab teil oma kontot kasutades avaldada mis tahes paketi uue versiooni. millel pole volitust selliseid värskendusi teha.

Haavatavuse põhjustas valed lubade kontrollid mikroteenuste koodis, mis töötlevad taotlusi NPM-ile. Autoriseerimisteenus teostas päringus edastatud andmete põhjal paketi lubade kontrolli, kuid mõni teine ​​värskenduse hoidlasse üles laadinud teenus määras üleslaaditud paketi metaandmete sisu põhjal avaldatava paketi. Seega võib ründaja taotleda oma paketi värskenduse avaldamist, millele tal on juurdepääs, kuid paketis endas täpsustada teavet mõne teise paketi kohta, mida lõpuks värskendatakse.

Probleem lahendati 6 tundi pärast turvaaugust teatamist, kuid haavatavus oli NPM-is olemas kauem, kui telemeetrialogid katavad. GitHub väidab, et alates 2020. aasta septembrist pole seda haavatavust kasutanud rünnakute jälgi olnud, kuid puudub garantii, et probleemi pole varem ära kasutatud.

Teine juhtum leidis aset 26. oktoobril. Tehnilise töö käigus teenuse replicate.npmjs.com andmebaasiga ilmnes välistele päringutele ligipääsetavas andmebaasis konfidentsiaalsete andmete olemasolu, mis paljastas teabe muudatuste logis mainitud sisemiste pakettide nimede kohta. Infot selliste nimede kohta saab kasutada siseprojektide suhtes sõltuvusrünnakute läbiviimiseks (veebruaris võimaldas sarnane rünnak koodi käivitada PayPali, Microsofti, Apple'i, Netflixi, Uberi ja veel 30 ettevõtte serverites).

Lisaks on GitHub otsustanud kehtestada kohustusliku kahefaktorilise autentimise, kuna sageneb suurte projektide hoidlate kaaperdamise ja pahatahtliku koodi reklaamimise juhtumeid ohustavate arendajakontode kaudu. Muudatus jõustub 2022. aasta esimeses kvartalis ning hakkab kehtima populaarseimate nimekirja kuuluvate pakettide hooldajatele ja haldajatele. Lisaks teatatakse taristu moderniseerimisest, mille käigus võetakse kasutusele pakettide uute versioonide automatiseeritud jälgimine ja analüüs pahatahtlike muudatuste varajaseks avastamiseks.

Pidagem meeles, et 2020. aastal läbi viidud uuringu kohaselt kasutab kahefaktorilist autentimist ligipääsu kaitsmiseks vaid 9.27% paketihalduritest ning 13.37% juhtudest üritasid arendajad uute kontode registreerimisel uuesti kasutada rikutud paroole, mis ilmusid teadaolevad paroolilekked. Paroolide turvalisuse ülevaatuse käigus pääseti ligi 12% NPM-i kontodest (13% pakettidest), kuna kasutati ennustatavaid ja triviaalseid paroole, näiteks "123456". Probleemsete hulgas oli 4 kasutajakontot Top 20 populaarseimate pakettide hulgast, 13 kontot, mille pakette laaditi alla rohkem kui 50 miljonit korda kuus, 40 kontot rohkem kui 10 miljoni allalaadimisega kuus ja 282 kontot rohkem kui 1 miljoni allalaadimisega kuus. Võttes arvesse moodulite laadimist sõltuvuste ahelas, võib ebausaldusväärsete kontode ohtu sattumine mõjutada kuni 52% kõigist NPM-i moodulitest.

Allikas: opennet.ru

Lisa kommentaar