Kaj se je zgodilo
Raziskovalci podjetja Bloom Security so odkrili ranljivost v mehanizmu npm Trusted Publishing, ki so jo poimenovali SlugFest. Težava je izhajala iz tega, da se je npm pri preverjanju zaupanja vrednih objaviteljev zanašal na človeku berljiva imena GitHub repozitorijev namesto na njihove trajne številčne identifikatorje. Napadalec je lahko podedoval zaupanje za objavljanje paketa tako, da je registriral ime repozitorija, ki ga je prvotni lastnik zapustil ali opustil.
Po navedbah vira je Bloom Security identificiral več kot 1.500 potencialno ranljivih npm paketov, med njimi varnostne skenerje, orodja za avtentikacijo in kriptografske pakete. Izpostavljeni paketi imajo skupno več kot 10 milijonov prenosov, od tega več kot milijon mesečno. Raziskovalec Golan Myers je za CSO Online povedal, da aktivnega izkoriščanja ranljivosti v naravi niso zaznali, so pa v okviru lastnega nadzorovanega testiranja uspešno uporabili napako za objavo nove različice obstoječega paketa.
GitHub, ki je lastnik npm, je po navedbah vira ranljivost odpravil. Popravek je bil objavljen 2. oktobra in uvaja 48-urni rok veljavnosti za nepotrjene konfiguracije Trusted Publishing.
Kaj to pomeni za slovenska in evropska podjetja
Npm je eden najbolj razširjenih sistemov za upravljanje paketov pri razvoju programske opreme, zato se posledice tovrstnih ranljivosti hitro prenesejo v verigo dobave. Slovenska in evropska podjetja, ki pri razvoju uporabljajo odvisnosti iz npm registra, so lahko posredno izpostavljena, tudi če sama ne objavljajo paketov. Ranljivost je zanimiva predvsem zato, ker ni zahtevala kraje poverilnic ali gesel, temveč je izkoriščala zaupanje, vgrajeno v sam mehanizem objavljanja. Tovrstni napadi na verigo dobave so težje zaznavni, saj zlonamerna koda prihaja iz sicer legitimnega in že uveljavljenega paketa.
Priporočeni ukrepi
Glede na to, da je popravek že objavljen, je ključno preveriti, ali razvojna okolja in CI/CD cevovodi uporabljajo posodobljeno različico npm z vpeljanim 48-urnim rokom veljavnosti za nepotrjene konfiguracije Trusted Publishing. Priporočljivo je tudi pregledati seznam uporabljenih odvisnosti in preveriti, ali med njimi ni katerega od paketov, ki so bili po navedbah vira identificirani kot potencialno ranljivi. Ker aktivno izkoriščanje ni bilo potrjeno, trenutno ni razloga za paniko, je pa smiselno spremljati nadaljnja sporočila GitHuba in Bloom Security glede morebitnih dodatnih ugotovitev.
Vprašanja in odgovori
Je bila ranljivost aktivno izkoriščana? Po navedbah raziskovalcev Bloom Security aktivnega izkoriščanja v naravi niso zaznali. Ranljivost so uspešno preizkusili zgolj v lastnem nadzorovanem testnem okolju.
Kaj je bilo osnovno vzroka za ranljivost? Npm je pri preverjanju zaupanja vrednih objaviteljev uporabljal človeku berljiva imena GitHub repozitorijev namesto trajnih številčnih identifikatorjev, kar je omogočalo prevzem imena opuščenega repozitorija.
Je ranljivost že odpravljena? Da, po navedbah vira je GitHub popravek objavil 2. oktobra, ki uvaja 48-urni rok veljavnosti za nepotrjene konfiguracije Trusted Publishing.
Pogosta vprašanja
Je bila ranljivost SlugFest aktivno izkoriščana?
Po navedbah raziskovalcev Bloom Security aktivnega izkoriščanja v naravi niso zaznali, ranljivost so preizkusili le v lastnem nadzorovanem testiranju.
Koliko npm paketov je bilo izpostavljenih?
Po navedbah vira je bilo izpostavljenih več kot 1.500 npm paketov s skupno več kot 10 milijoni prenosov.
Je ranljivost že odpravljena?
Da, GitHub je po navedbah vira popravek objavil 2. oktobra, ki uvaja 48-urni rok veljavnosti za nepotrjene konfiguracije Trusted Publishing.
Sorodne objave
- Hekerji napadli francoske hladilnike v trgovinah E. Leclerc, Intermarche in Cooperative U
- Kritične ranljivosti v Citrix NetScaler ADC in Gateway: dve se že aktivno izkoriščata
- Geopolitika in vrzel v kibernetski odpornosti: zakaj sodita v vaš model groženj

