De ontwikkelaar van de populaire JavaScript-library node-ipc heeft opzettelijk een kritieke kwetsbaarheid geïntroduceerd in de library die files overschrijft op de computer van gebruikers met een IP-adres in Rusland of Belarus, en vervolgens een oproep toont voor wereldvrede.
Node-ipc wordt onder meer gebruikt in het vue.js-framework, en wordt wekelijks een miljoen keer opgehaald uit het NPM-registry. GitHub schrijft dat ontwikkelaar Brandon Nozaki Miller opzettelijk een kritieke kwetsbaarheid heeft geïntroduceerd aan de library, die 'arbitraire files' overschrijft op het systeem van de gebruiker, afhankelijk van de geolocatie van het IP-adres van de gebruiker.
De kwetsbaarheid werd door Miller tussen 7 en 8 maart toegevoegd, in versies 10.1.1 en 10.1.2 van de library, schrijft The Register. Als node-ipc opgehaald wordt en gedraaid wordt door een gebruiker, dan controleert de library het IP-adres van de hostcomputer. Als deze een IP-adres uit Rusland of Belarus heeft, dan zal de library proberen om zoveel mogelijk files op de computer te overschrijven met een hart-symbool. Versie 10.1.3 werd kort daarna uitgebracht en had die kwetsbaarheid niet. De versies 10.1.1 en 10.1.2 werden verwijderd uit de NPM-registry.
Vervolgens zette Miller versie 11 en versie 9.2.2 van de library online, die een tekstbestand aanmaakten op de desktop en in de OneDrive-folders van gebruikers, met de boodschap: "Oorlog is niet de oplossing, hoe erg het ook is." Miller maakte van die package een dependency voor node-ipc, die op zijn beurt weer als dependency gebruikt wordt door heel veel andere JavaScript-ontwikkelaars, schrijft securityplatform Snyk in een blogpost. Zo kon ook Vue CLI getroffen worden door de kwetsbaarheid.
Miller, die bekend staat als RIAEvangelist, legt op GitHub uit dat precies gedocumenteerd is wat de library doet en hij zegt dan ook dat het iedereen vrij staat om dependencies aan eerdere versies van de libary te koppelen als ze niet getroffen willen worden door de kwetsbaarheid. Ook zou het volgens hem niet als een verrassing moeten komen voor gebruikers van de library: "Alles is publiek, gedocumenteerd, gelicentieerd en open source."