Ranjivost koja je omogućila izdavanje ažuriranja za bilo koji paket u NPM spremištu

GitHub je otkrio dva incidenta u svojoj infrastrukturi spremišta NPM paketa. Dana 2. novembra, nezavisni istraživači sigurnosti (Kajetan Grzybowski i Maciej Piechota), kao dio Bug Bounty programa, prijavili su prisustvo ranjivosti u NPM spremištu koja vam omogućava da objavite novu verziju bilo kojeg paketa koristeći svoj račun, koja nije ovlaštena za obavljanje takvih ažuriranja.

Ranjivost je uzrokovana netačnim provjerama dozvola u kodu mikroservisa koji obrađuju zahtjeve prema NPM-u. Servis autorizacije je izvršio provjere dozvole paketa na osnovu podataka proslijeđenih u zahtjevu, ali drugi servis koji je uploadovao ažuriranje u spremište odredio je da se paket objavi na osnovu sadržaja metapodataka učitanog paketa. Dakle, napadač može zatražiti objavu ažuriranja za svoj paket kojem ima pristup, ali u samom paketu navesti informacije o drugom paketu, koji bi eventualno bio ažuriran.

Problem je popravljen 6 sati nakon prijave ranjivosti, ali je ranjivost bila prisutna u NPM-u duže od pokrivanja dnevnika telemetrije. GitHub tvrdi da od septembra 2020. nije bilo tragova napada koji koriste ovu ranjivost, ali nema garancije da problem nije ranije iskorišćen.

Drugi incident se dogodio 26. oktobra. Tokom održavanja baze podataka replicate.npmjs.com, otkriveni su povjerljivi podaci u bazi podataka dostupnoj eksterno, otkrivajući informacije o nazivima internih paketa spomenutih u dnevniku promjena. Informacije o takvim nazivima mogu se koristiti za napad na zavisnosti u internim projektima (u februaru je sličan napad omogućio izvršavanje koda na serveri PayPal, Microsoft, Apple, Netflix, Uber i 30 drugih kompanija).

Osim toga, zbog sve većeg broja slučajeva otmice spremišta velikih projekata i promoviranja zlonamjernog koda kroz kompromitujuće račune programera, GitHub je odlučio uvesti obaveznu dvofaktorsku autentifikaciju. Promjena će stupiti na snagu u prvom tromjesečju 2022. godine i odnosit će se na održavaoce i administratore paketa koji su uključeni u listu najpopularnijih. Dodatno, izvještava se o modernizaciji infrastrukture u kojoj će biti uvedeno automatizirano praćenje i analiza novih verzija paketa za rano otkrivanje zlonamjernih promjena.

Podsjetimo, prema studiji provedenoj 2020. godine, samo 9.27% održavatelja paketa koristi dvofaktorsku autentifikaciju za zaštitu pristupa, a u 13.37% slučajeva, prilikom registracije novih naloga, programeri su pokušali ponovo koristiti kompromitovane lozinke koje su se pojavile u poznata lozinka curi. Tokom pregleda sigurnosti lozinke, 12% NPM naloga (13% paketa) je pristupljeno zbog upotrebe predvidljivih i trivijalnih lozinki kao što je „123456“. Među problematičnima su bila 4 korisnička naloga iz Top 20 najpopularnijih paketa, 13 naloga sa paketima koji se preuzimaju više od 50 miliona puta mesečno, 40 sa više od 10 miliona preuzimanja mesečno i 282 sa više od milion preuzimanja mesečno. Uzimajući u obzir učitavanje modula duž lanca zavisnosti, kompromitovanje nepouzdanih naloga može uticati na do 1% svih modula u NPM-u.

izvor: opennet.ru

Kupite pouzdan hosting za sajtove sa DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster