Am NPM-Paket node-ipc wurde eine böswillige Änderung vorgenommen, die Dateien auf Systemen in Russland und Weißrussland löscht

Im NPM-Paket „node-ipc“ (CVE-2022-23812) wurde eine böswillige Änderung identifiziert, die mit einer Wahrscheinlichkeit von 25 % den Inhalt aller Dateien mit Schreibzugriff durch ein „❤️“-Zeichen ersetzt. Der Schadcode wird nur aktiviert, wenn er auf Systemen mit IP-Adressen aus Russland oder Weißrussland gestartet wird. Das Node-IPC-Paket wird etwa eine Million Mal pro Woche heruntergeladen und wird als Abhängigkeit für 354 Pakete verwendet, einschließlich Vue-Cli. Betroffen sind auch alle Projekte, die node-ipc als Abhängigkeiten haben.

Der Schadcode wurde im Rahmen der Node-IPC-Versionen 10.1.1 und 10.1.2 im NPM-Repository veröffentlicht. Vor 11 Tagen wurde im Namen des Projektautors eine böswillige Änderung im Git-Repository des Projekts veröffentlicht. Das Land wurde im Code durch Aufruf des Dienstes api.ipgeolocation.io ermittelt. Der Schlüssel, auf den die ipgeolocation.io-API über eine böswillige Einfügung zugreift, wurde nun widerrufen.

In den Kommentaren zur Warnung vor dem Auftreten von fragwürdigem Code gab der Autor des Projekts an, dass die Änderung darauf hinausläuft, eine Datei auf dem Desktop hinzuzufügen, die eine zum Frieden aufrufende Nachricht anzeigt. Tatsächlich führte der Code eine rekursive Aufzählung der Verzeichnisse durch und versuchte, alle gefundenen Dateien zu überschreiben.

Später wurden die Node-IPC-Versionen 11.0.0 und 11.1.0 im NPM-Repository abgelegt, das anstelle des integrierten Schadcodes die externe Abhängigkeit „peacenotwar“ hinzufügte, die vom selben Autor kontrolliert und zur Einbindung per Paket angeboten wurde Betreuer, die sich dem Protest anschließen möchten. Es wird angegeben, dass das Peacenotwar-Paket nur eine Botschaft über die Welt darstellt, aber unter Berücksichtigung der vom Autor bereits ergriffenen Maßnahmen ist der weitere Inhalt des Pakets unvorhersehbar und das Fehlen destruktiver Änderungen kann nicht garantiert werden.

Parallel dazu wurde ein Update für den stabilen Zweig node-ipc 9.2.2 veröffentlicht, der vom Vue.js-Projekt verwendet wird. Im neuen Release wurde neben PeaceNotWar auch das Colors-Paket in die Anzahl der Abhängigkeiten aufgenommen, dessen Autor im Januar destruktive Änderungen in den Code integriert hat. Die Quelllizenz in der neuen Version wurde von MIT auf DBAD geändert.

Da die nächsten Schritte des Autors unvorhersehbar sind, wird Node-IPC-Benutzern empfohlen, die Abhängigkeiten auf Version 9.2.1 zu beheben. Das Sperren von Versionen wird auch für andere Entwicklungen desselben Autors empfohlen, der 41 Pakete verwaltet hat. Einige der vom selben Autor verwalteten Pakete (js-queue, easy-stack, js-message, event-pubsub) werden etwa eine Million Mal pro Woche heruntergeladen.

Nachtrag: Andere Versuche, Aktionen zu verschiedenen geöffneten Paketen hinzuzufügen, die nicht mit der direkten Funktionalität von Anwendungen zusammenhängen und an IP-Adressen oder das Gebietsschema des Systems gebunden sind, werden ebenfalls aufgezeichnet. Die harmlosesten dieser Änderungen (es5-ext, rete, PHP Composer, PHPUnit, Redis Desktop Manager, Awesome Prometheus Alerts, Verdaccio, Filestash) laufen darauf hinaus, den Krieg für Benutzer in Russland und Weißrussland zu beenden. Gleichzeitig werden auch gefährlichere Erscheinungsformen aufgedeckt, beispielsweise wurde den AWS Terraform-Modulpaketen ein Verschlüsselungstool hinzugefügt und es wurden politische Einschränkungen in die Lizenz eingeführt. Die Tasmota-Firmware für ESP8266- und ESP32-Geräte verfügt über eine integrierte Registerkarte, die den Betrieb von Geräten blockieren kann. Es wird davon ausgegangen, dass solche Aktivitäten das Vertrauen in Open-Source-Software ernsthaft untergraben können.

Source: opennet.ru

Kommentar hinzufügen