Er is een kwaadwillige wijziging gedetecteerd in het node-ipc NPM-pakket (CVE-2022-23812), met een waarschijnlijkheid van 25% dat de inhoud van alle bestanden met schrijftoegang wordt vervangen door het teken "❤️". De kwaadaardige code wordt alleen geactiveerd wanneer deze wordt gelanceerd op systemen met IP-adressen uit Rusland of Wit-Rusland. Het node-ipc-pakket wordt ongeveer een miljoen keer gedownload per week en wordt gebruikt als afhankelijkheid van 354 pakketten, inclusief vue-cli. Alle projecten die node-ipc als afhankelijkheden hebben, worden ook door het probleem getroffen.
De kwaadaardige code is naar de NPM-repository gepost als onderdeel van de node-ipc 10.1.1- en 10.1.2-releases. Er is elf dagen geleden namens de auteur van het project een kwaadaardige wijziging in de Git-repository van het project geplaatst. Het land werd in de code bepaald door de dienst api.ipgeolocation.io aan te roepen. De sleutel die via de kwaadaardige insluiting toegang kreeg tot de ipgeolocation.io API, is nu ingetrokken.
In de commentaren op de waarschuwing over het verschijnen van dubieuze code verklaarde de auteur van het project dat de verandering neerkomt op het toevoegen van een bestand aan het bureaublad dat een bericht weergeeft waarin wordt opgeroepen tot vrede. In feite voerde de code een recursieve doorzoeking van mappen uit met een poging om alle aangetroffen bestanden te overschrijven.
Releases van node-ipc 11.0.0 en 11.1.0 werden later naar de NPM-repository gepost, die de ingebouwde kwaadaardige code verving door een externe afhankelijkheid, “peacenotwar”, beheerd door dezelfde auteur en aangeboden voor opname door pakketbeheerders die dit wensten om zich bij het protest aan te sluiten. Er wordt gesteld dat het Peacenotwar-pakket alleen een boodschap over vrede weergeeft, maar rekening houdend met de acties die de auteur al heeft ondernomen, is de verdere inhoud van het pakket onvoorspelbaar en is de afwezigheid van destructieve veranderingen niet gegarandeerd.
Tegelijkertijd werd een update uitgebracht voor de stabiele node-ipc 9.2.2 branch, die wordt gebruikt door het Vue.js-project. In de nieuwe release werd naast Peacenotwar ook het kleurenpakket toegevoegd aan de lijst met afhankelijkheden, waarvan de auteur in januari destructieve wijzigingen in de code heeft geïntegreerd. De bronlicentie voor de nieuwe release is gewijzigd van MIT naar DBAD.
Omdat de verdere acties van de auteur onvoorspelbaar zijn, wordt node-ipc-gebruikers aanbevolen om de afhankelijkheden van versie 9.2.1 op te lossen. Het wordt ook aanbevolen om versies voor andere ontwikkelingen te repareren van dezelfde auteur die 41 pakketten heeft onderhouden. Sommige pakketten die door dezelfde auteur worden onderhouden (js-queue, easy-stack, js-message, event-pubsub) worden ongeveer een miljoen keer per week gedownload.
Aanvulling: Andere pogingen om acties toe te voegen aan diverse open source-pakketten die niet direct verband houden met de functionaliteit van applicaties en daaraan gekoppeld zijn. IP-adressen of de systeemlocale. De meest onschuldige van deze wijzigingen (es5-ext, rete, PHP composer, PHPUnit, Redis Desktop Manager, Awesome Prometheus Alerts, verdaccio, filestash) komen neer op het weergeven van oproepen om de oorlog te beëindigen voor gebruikers in Rusland en Wit-Rusland. Er zijn echter ook gevaarlijkere uitingen geïdentificeerd, zoals ransomware die is toegevoegd aan AWS Terraform-modules en politieke beperkingen die aan de licentie zijn toegevoegd. De Tasmota-firmware voor ESP8266- en ESP32-apparaten bevat een backdoor die de werking van het apparaat kan blokkeren. Men is van mening dat dergelijke activiteiten het vertrouwen in open source-software ernstig ondermijnen.
Bron: opennet.ru
