OpozoriloIT security novice

Napaka v npm Trusted Publishing izpostavila več kot 1.500 paketov ugrabitvi

Raziskovalci Bloom Security so odkrili ranljivost v mehanizmu npm Trusted Publishing, imenovano SlugFest, ki je omogočala prevzem objavljanja paketov brez kraje poverilnic. Napaka je bila odpravljena, aktivno izkoriščanje v naravi ni bilo zaznano.

CyberRadar ocena56 / 100
CVSSNi CVE
EPSSNi CVE
KEVNi CVE

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

Viri