Vulnerabiliteti që lejonte lëshimin e një azhurnimi për çdo paketë në depotin NPM

Kompania GitHub shpalli informacion për dy incidente në infrastrukturën e repositorit të paketave NPM. Më 2 nëntor, hulumtuesit e jashtëm të sigurisë (Kajetan Grzybowski dhe Maciej Piechota) në kuadër të programit Bug Bounty njoftuan për një dobësi në repositorin NPM që lejonte publikimin e një versioni të ri të çdo pakete duke përdorur llogarinë e tij, e cila nuk ishte e autorizuar për të kryer përditësime të tilla.

Dobësia ishte shkaktuar nga një verifikim i papërshtatshëm i autorizimeve në kodin e mikroshërbimeve që përpunonin kërkesat për NPM. Shërbimi i autorizimit bënte verifikimin e të drejtave të aksesit në paketat në bazë të të dhënave të dërguara në kërkesë, por një shërbim tjetër, që ngarkonte përditësimin në repositor, përcaktonte paketën për publikim në bazë të përmbajtjes së metadatatave në paketën e ngarkuar. Kështu, një sulmues mund të kërkonte publikimin e një përditësimi për paketën e tij, për të cilën kishte qasje, por të specifikonte në paketë informacion për një paketë tjetër, e cila do të përditësohej në fund.

Problemi u zgjidh brenda 6 orësh pas shfaqjes së informacionit për dobësinë, por dobësia kishte qenë e pranishme në NPM më gjatë se sa logjet e telemetrisë mbulonin. GitHub pretendon se nuk janë regjistruar prova të sulmeve që përdorin këtë dobësi që nga september 2020, por nuk ka garanci se problemi nuk është shfrytëzuar më herët.

Incidenti i dytë ndodhi më 26 tetor. Gjatë punimeve teknike me bazën e të dhënave të shërbimit replicate.npmjs.com, u zbulua se në bazën e të dhënave të aksesueshme për kërkesat e jashtme kishte të dhëna konfidenciale që zbulonin informacion rreth emrave të paketimeve të brendshme që u përmendën në logun e ndryshimeve. Informacioni mbi këta emra mund të përdoret për të kryer sulme ndaj varësive në projektet e brendshme (në shkurt, një sulm i tillë i dha mundësinë për të ekzekutuar kod në serverë PayPal, Microsoft, Apple, Netflix, Uber dhe 30 kompani të tjera).

Për më tepër, për shkak të rasteve në rritje të kapjes së repositorive të projekteve të mëdha dhe promovimit të kodit të dëmshëm përmes ndyrësisë së llogarive të zhvilluesve, kompania GitHub mori vendimin për të futur autentifikimin me dy faktorë si të detyrueshëm. Ky ndryshim do të hyjë në fuqi në tremujorin e parë të vitit 2022 dhe do të përfshijë mbikëqyrësit dhe administratorët e paketeve të përfshira në listën e atyre më të njohur. Shtesë për këtë, është e raportuar për modernizimin e infrastrukturës, ku do të implementohet monitoring automatizuar dhe analiza e versioneve të reja të paketeve për të zbuluar për ndryshime të dëmshme në fazat e hershme.

Kujtojmë se, sipas një studimi të kryer në vitin 2020, vetëm 9.27% e mbajtësve të paketeve përdorin autentifikimin me dy faktorë për të mbrojtur qasjen e tyre, për shkak se në 13.37% të rasteve, gjatë regjistrimit të llogarive të reja, zhvilluesit përpiqeshin të ripërdorin fjalëkalimet e komprometuara që ishin të njohura në shpërthimet e zakonshme të fjalëkalimeve. Gjatë verifikimit të sigurisë së fjalëkalimeve që përdoren, u arrit të fitohet qasje në 12% të llogarive në NPM (13% e paketimeve) për shkak të përdorimit të fjalëkalimeve të parashikueshme dhe triviale, si '123456'. Në mesin e problemeve ishin 4 llogari përdoruesish nga Top20 e paketimeve më të njohura, 13 llogari, ku paketat e tyre u ngarkuan më shumë se 50 milion herë në muaj, 40 llogari - më shumë se 10 milion ngarkime në muaj dhe 282 me më shumë se 1 milion ngarkime në muaj. Duke marrë parasysh ngarkimin e moduleve nëpër varësi, komprometimi i llogarive të pasigurta mund të kishte prekur deri në 52% të të gjitha moduleve në NPM.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster