Flere versjoner av den svært utbredte Node.js-pakken node-ipc ble utgitt med ondsinnet funksjonalitet. Pakken har blitt lastet ned 4,7 millioner ganger den siste måneden. Blant annet brukes den av kommandolinjeverktøyet til Vue.js, Vue CLI.
Den destruktive funksjonaliteten sitter ikke i selve pakken, men i en separat pakke kalt peacenotwar, som versjonene 10.1.1 og 10.1.2 av node-ipc importerer. Dette er fjernet igjen i versjon 10.1.3 og nyere.
Angriper utvalgte utviklere
Utviklere som tar i bruk de ondsinnede versjonene av node-ipc risikerer å oppleve at filer på lagringsenheten blir overskrevet med en hjerte-emoji (❤️).
Nå er det ikke slik at alle utviklere er i målgruppen for den ondsinnede funksjonaliteten. Ifølge CVE-detaljene sjekker koden først om brukerens datamaskin er knyttet til internett med en IP.-adresse lokalisert i Russland eller Hviterussland.
Ifølge Github er det den ansvarlige vedlikeholderen selv, Brandon Nozaki Miller (RIAEvangelist), som både har lastet opp de destruktive utgavene og versjonen hvor funksjonaliteten er fjernet igjen.
Fra starten av skal peacenotwar-koden bare ha vært en fredelig protest som ikke gjorde noen skade. Men ifølge sikkerhetsselskapet Snyk begynte brukere av Vue.js den 15. mars å oppleve det som omtales som et leverandørkjedeangrep. I hvilken grad det har blitt gjort alvorlig skade, er uklart.
Kan skape usikkerhet
Det er bare to måneder siden forrige NPM-relaterte sabotasjehendelse. Da valgte en utvikler å endre to av sine mye brukte NPM-pakker på en slik måte at applikasjoner som benyttet dem nærmest sluttet å fungere. Det skal ha dreid seg om protestaksjon etter at utvikleren i lengre tid hadde irritert seg over at store, kommersielle virksomheter benytter hans gratis arbeid uten å kompensere ham for det. Utviklere fikk mye moralsk støtte for «opprøret», men antagelig ikke noe mer penger.
Liran Tal i sikkerhetsselskapet Snyk skriver i dette blogginnlegget at selv om handlinger som dette kan bli oppfattet av noen som legitime protester, vil andre kunne stille spørsmål om påliteligheten til vedlikeholderen. Miller er ansvarlig for mer enn 40 andre npm-pakker.
– […] forsettlig misbruk som dette underminerer det globale åpen kildekode-fellesskapet og krever at vi flagger berørte versjoner av node-ipc som sikkerhetssårbarheter, skriver Tal.
Han mener at resultatet av slike leverandørkjede-relaterte sikkerhetshendelser fortsetter å demonstrere behovet det for skikkelig håndtering og rask reaksjon på risikoene innen åpen kildekode-avhengigheter.
– Videre har kompleksiteten i nøstede avhengigheter, slik som JavaScript-økosystemet npmjs, igjen bevist den sammensatte innvirkningen de har på tvers av sentrale økosystemprosjekter, skriver Tal.