Drei beliebte npm-Pakete, @rspack/core, @rspack/cli und Vant, wurden durch gestohlene npm-Account-Tokens kompromittiert, so dass Bedrohungsakteure bösartige Versionen veröffentlichen konnten, die Kryptominer installierten.
Bei dem Angriff auf die Lieferkette, der sowohl von Sonatype- als auch von Socket-Forschern entdeckt wurde, wurde der Kryptowährungs-Miner XMRig auf kompromittierten Systemen eingesetzt, um die schwer nachweisbare Kryptowährung Monero zu schürfen.
Darüber hinaus entdeckte Sonatype, dass alle drei npm-Pakete am selben Tag der identischen Kompromittierung zum Opfer fielen und mehrere Versionen betroffen waren.
Rspack ist ein hochleistungsfähiger JavaScript-Bündler, der in Rust geschrieben wurde und für die Erstellung und Bündelung von JavaScript-Projekten verwendet wird.
Bei den beiden betroffenen Paketen handelt es sich um die Kernkomponente und die Befehlszeilenschnittstelle (CLI), die wöchentlich 394.000 bzw. 145.000 Mal auf npm heruntergeladen wurden.
Vant ist eine leichtgewichtige, anpassbare Vue.js UI-Bibliothek, die auf die Entwicklung mobiler Webanwendungen zugeschnitten ist und vorgefertigte, wiederverwendbare UI-Komponenten bietet. Mit 46.000 wöchentlichen Downloads auf npm ist sie auch relativ beliebt.
Kryptomining-Aktivität
The malicious code is hidden inside the ‘support.js’ file on @rspack/core, and in the ‘config.js’ file in ‘@rspack/cli,’ and fetches its configuration and command-and-control (C2) instructions from an external server.The malware leverages npm’s postinstall script to execute automatically upon package installation.
Abruf des Miners von einer externen Adresse
Abruf des Miners von einer externen Adresse
Quelle: Sonatype
Sobald er ausgeführt wird, ruft er den geografischen Standort und die Netzwerkdetails des Systems des Opfers ab.
“This call accesses the geolocation API at http://ipinfo.io/json, potentially gathering IP addresses, geographic location, and other network details about the victim’s system,” explains Socket.
“Such reconnaissance is often used to tailor attacks based on the user’s location or network profile.”The XMRig binary is downloaded from a GitHub repository, and for the compromised Vant package, it is renamed to ‘/tmp/vant_helper’ to conceal its purpose and blend into the filesystem.
Bei der Kryptomining-Aktivität werden Ausführungsparameter verwendet, die die CPU-Nutzung auf 75% der verfügbaren Prozessor-Threads beschränken, wodurch ein gutes Gleichgewicht zwischen Kryptomining-Leistung und Umgehung erreicht wird.
Ax Sharma von Sonatype sagt, dass die folgende Monero-Adresse in den kompromittierten Rspack-Paketen gefunden wurde:
475NBZygwEajj4YP2Bdu7yg6XnaphiFjxTFPkvzg5xAjLGPSakE68nyGavn8r1BYqB44xTEyKQhueeqAyGy8RaYc73URL1j
Reaktion auf den Kompromiss
Sowohl Rspack als auch Vant bestätigten, dass ihre NPM-Konten kompromittiert wurden, veröffentlichten neue, bereinigte Versionen ihrer Pakete und entschuldigten sich bei der Community dafür, dass sie es versäumt hatten, die Lieferkette zu schützen.
"Am 19.12.2024, 02:01 (UTC), haben wir festgestellt, dass unsere npm-Pakete @rspack/core und @rspack/cli böswillig angegriffen wurden. Der Angreifer hat v1.1.7 mit einem kompromittierten npm-Token veröffentlicht, der bösartigen Code enthielt. Wir haben sofort gehandelt, als wir das Problem entdeckten", erklärten die Rspack-Entwickler.
"Diese Version behebt ein Sicherheitsproblem. Wir haben herausgefunden, dass der npm-Token eines unserer Teammitglieder gestohlen wurde und dazu benutzt wurde, mehrere Versionen mit Sicherheitslücken zu veröffentlichen. Wir haben Maßnahmen ergriffen, um das Problem zu beheben und die neueste Version wieder zu veröffentlichen", schreibt der Vant-Entwickler.
Die kompromittierte Rspack-Version, die es zu vermeiden gilt, ist 1.1.7, die den bösartigen Krypto-Mining-Code enthält.
Users are recommended to upgrade to v1.1.8 or later. The version before the malicious one, v1.1.6, is also safe, but the latest has implemented additional security measures.Regarding Vant, multiple compromised versions should be avoided. These are: 2.13.3, 2.13.4, 2.13.5, 3.6.13, 3.6.14, 3.6.15, 4.9.11, 4.9.12, 4.9.13, and 4.9.14.
Es wird empfohlen, auf Vant v4.9.15 und neuer zu aktualisieren, da es sich hierbei um eine sichere Neuveröffentlichung der neuesten Version der Software handelt.
Dieser Vorfall folgt auf andere jüngste Kompromittierungen der Lieferkette, wie die von LottieFiles, die es auf die Kryptowährungsbestände der Nutzer abgesehen hatten, und Ultralytics, das die Hardwareressourcen der Nutzer für das Kryptomining entführte.