Am 11. Mai 2026 wurden im npm-Registry 84 bösartige Versionen von 42 @tanstack/*-Paketen veröffentlicht – ein Supply-Chain-Angriff, der als CVE-2026-45321 mit einem CVSS-Score von 9.6 (kritisch) verfolgt wird. Der Schadcode stahl Zugangsdaten von Entwicklerrechnern, darunter GitHub-Token, SSH-Schlüssel und Cloud-Credentials. Nach Angaben von CrowdSec führte genau dieser Angriff zur Kompromittierung des Laptops eines ehemaligen Mitarbeiters, über dessen Account am 22. Mai rund 170 private GitHub-Repositories kopiert wurden. Ein Archiv mit dem Quellcode und personenbezogenen Daten tauchte am 16. September in einem Online-Forum auf. Der Vorfall betraf auch OpenAI und Mistral AI.
Mechanismus der TanStack-Supply-Chain-Attacke
Dem offiziellen TanStack-Sicherheitshinweis zufolge wurden die 84 bösartigen Versionen innerhalb eines Sechs-Minuten-Fensters veröffentlicht – zwischen 19:20 und 19:26 UTC am 11. Mai 2026. Jedes der 42 betroffenen Pakete erhielt genau zwei bösartige Versionen. Für @tanstack/react-router waren dies beispielsweise die Versionen 1.169.5 und 1.169.8, während Version 1.169.9 die bereinigte Fassung darstellte.
Die Installation einer beliebigen infizierten Version startete die Ausführung der verschleierten Datei router_init.js (~2,3 MB), die einen umfangreichen Satz an Zugangsdaten sammelte und an externe Server übermittelte:
- Credentials für AWS, GCP, Kubernetes, HashiCorp Vault
- npm- und GitHub-Token
- SSH-Schlüssel
Die Daten wurden über die Domains filev2.getsession.org, seed1.getsession.org, seed2.getsession.org und seed3.getsession.org exfiltriert. Die bösartigen Versionen enthielten einen charakteristischen Indikator – die optionale Abhängigkeit @tanstack/setup, die auf den bösartigen Git-Ref github:tanstack/router#79ac49eedf774dd4b0cfa308722bc463cfe5885c verwies.
Die Schwachstelle ist als CWE-506 (eingebetteter Schadcode) klassifiziert. Im TanStack-Sicherheitshinweis wird ausdrücklich darauf hingewiesen, dass Entwicklungs- und CI/CD-Umgebungen, die die betroffene Version am 11. Mai über npm, pnpm oder yarn installiert haben, als kompromittiert gelten sollten.
Der CrowdSec-Vorfall: Chronologie und Umfang
Laut CrowdSec, das am 18. September Informationen veröffentlichte, stellte sich die Ereigniskette wie folgt dar: Ein ehemaliger Mitarbeiter hatte das Unternehmen verlassen, sein GitHub-Zugang war jedoch erhalten geblieben, um laufende Arbeiten abzuschließen. Sein Laptop wurde nach Angaben des Unternehmens über das bösartige TanStack-Paket kompromittiert. Elf Tage nach der Veröffentlichung der bösartigen Versionen, am 22. Mai, wurden mithilfe eines GitHub-OAuth-Tokens aus dem Account des ehemaligen Mitarbeiters rund 170 private Repositories kopiert.
CrowdSec löschte den Account am 25. Mai aus seiner GitHub-Organisation – drei Tage nach dem Kopieren, aber mehrere Monate bevor das Unternehmen von dem Leak erfuhr. CrowdSec gibt an, dass der Token in den für das Unternehmen verfügbaren GitHub-Logs keine Spuren hinterließ und zum Zeitpunkt der Entdeckung des Leaks nicht mehr existierte. Nach Angaben von CrowdSec verfolgte der GitHub-Support später die Historie des Tokens zurück und bestätigte den Zusammenhang mit der TanStack-Attacke.
Wichtig zu beachten ist: Die Zuordnung des Kopierens der Repositories zu genau diesem kompromittierten Token des ehemaligen Mitarbeiters basiert ausschließlich auf Aussagen von CrowdSec und ist nicht durch unabhängige Quellen bestätigt.
Inhalt des Leaks
Das Archiv, das am 16. September in einem Online-Forum auftauchte, enthielt laut CrowdSec:
- Quellcode der Webkonsole, Skripte und Datenverarbeitungsmodelle, Automatisierungsskripte
- Den Konsensalgorithmus, der festlegt, welche IP-Adressen auf die Blocklisten gelangen, einschließlich zuvor nicht veröffentlichter Schwellenwerte
- E-Mail-Adressen von 83 CrowdSec-Nutzern
- Namen, E-Mail-Adressen und den Investitionskontext von 51 potenziellen Investoren (Daten aus dem Jahr 2020)
CrowdSec betont, dass die Infrastruktur und Datenbanken des Unternehmens nicht betroffen gewesen seien und der Code nicht verändert wurde. Das einzige im Leak enthaltene, noch gültige Credential gewährte dem Unternehmen zufolge lediglich Zugriff auf den AWS-SNS-Benachrichtigungsdienst mit dem Recht, in ein einzelnes Topic zu publizieren. Ein Nutzungsversuch wurde am 17. August festgestellt – einen Monat vor der Veröffentlichung des Archivs.
Widersprüche in den Aussagen von CrowdSec
Der Bericht von CrowdSec vom 18. September erweiterte die Beschreibung der Folgen deutlich gegenüber der ursprünglichen Erklärung vom 17. September. In der ersten Erklärung hieß es: „Keine Kundendaten, Logins/Passwörter, Namen, Organisationen oder sonstige Informationen wurden offengelegt“, und die Auswirkungen beschränkten sich ausschließlich auf das Unternehmen selbst. Bereits am nächsten Tag stellte der Bericht jedoch ein Leak der Daten von 83 Nutzern und 51 Investoren fest. In der ersten Erklärung wurde zudem angegeben, dass die bösartige TanStack-Komponente im CrowdSec-Code entdeckt worden sei, während der Bericht vom 18. September mitteilte, dass keine bösartige TanStack-Version im Code des Unternehmens gefunden wurde und die Quelle stattdessen der Account des ehemaligen Mitarbeiters war.
Auswirkungen auf andere Unternehmen
Die TanStack-Attacke betraf nicht nur CrowdSec. Laut einer Stellungnahme von OpenAI wurden zwei Geräte von Mitarbeitern kompromittiert, was zu einem unbefugten Zugriff auf eine begrenzte Zahl interner Quellcode-Repositories führte. OpenAI teilte mit, keine Hinweise auf eine Kompromittierung von Kundendaten oder geistigem Eigentum sowie auf Änderungen an veröffentlichter Software gefunden zu haben. Wir haben bereits über andere Vorfälle mit Beteiligung von OpenAI berichtet. Mistral AI meldete ebenfalls die Kompromittierung eines Entwicklergeräts im Zusammenhang mit dieser Attacke.
Der Vorfall zeigt, dass eine Supply-Chain-Attacke zwei unterschiedliche Gruppen von Betroffenen haben kann. Die erste Gruppe umfasst alle Entwicklungs- oder CI/CD-Umgebungen, die eine bösartige Version eines TanStack-Pakets installiert haben: Für sie ist eine vollständige Untersuchung des betroffenen Hosts und die Rotation sämtlicher verfügbarer Credentials erforderlich. Zur zweiten Gruppe gehören Organisationen wie CrowdSec, deren Ressourcen über gestohlene Token von Mitarbeitern kompromittiert wurden.
Empfehlungen
Für Entwickler und DevOps-Teams, die @tanstack/*-Pakete verwenden:
- Abhängigkeiten prüfen: Suchen Sie in Manifests mit fest pinnten @tanstack/*-Versionen nach der optionalen Abhängigkeit
@tanstack/setupund nach der Dateirouter_init.jsim Wurzelverzeichnis des Pakets – dies sind Indikatoren für eine Kompromittierung - Pakete aktualisieren auf die im TanStack-Sicherheitshinweis angegebenen bereinigten Versionen und Abhängigkeiten aus einer sauberen Lock-Datei neu installieren
- Alle Credentials rotieren, die auf den betroffenen Maschinen vorhanden waren – Priorität hat die Rotation, nicht nur die Entfernung des Pakets, da die bösartige Abhängigkeit installiert und wieder gelöscht worden sein kann, ohne Spuren in
node_moduleszu hinterlassen - Cloud-Audit-Logs prüfen (AWS CloudTrail, GCP Audit Logs) auf unbefugte Zugriffe mit den gestohlenen Credentials
- Exfiltrationsdomains in Netzwerk-Logs prüfen:
filev2.getsession.org,seed1-3.getsession.org
Für Organisationen insgesamt unterstreicht der CrowdSec-Vorfall die kritische Bedeutung, Zugänge von ausscheidenden Mitarbeitern zu allen Systemen ausnahmslos sofort zu entziehen sowie den verpflichtenden Einsatz von Endpoint-Schutzlösungen auf Entwicklerrechnern sicherzustellen. CrowdSec räumte ein, dass zum Zeitpunkt des Vorfalls die Installation solcher Software nicht vorgeschrieben war, und führte diese Anforderung nach dem Vorfall ein.
Die CVE-2026-45321-Supply-Chain-Attacke auf TanStack ist ein bestätigter Fall einer Exploitation unter Realbedingungen mit einem kritischen CVSS-Score von 9.6. Alle Teams, die am 11. Mai 2026 mit @tanstack/*-Paketen gearbeitet haben, sollten ihre Umgebungen umgehend auf Kompromittierungsindikatoren prüfen, Credentials rotieren und die Pakete auf bereinigte Versionen aktualisieren. Verzögerungen bei der Rotation von Zugangsdaten schaffen ein Zeitfenster für Angriffe, wie sie CrowdSec und OpenAI erlebt haben.