Am 11. Mai 2026 zwischen 19:20 und 19:26 UTC infizierte ein Angreifer 84 npm-Paket-Versionen aus dem TanStack-Ökosystem mit Schadcode. Die malware-bestückten Pakete trugen gültige Signaturen, weil die Angreifer die offizielle Release-Pipeline kaperten. Was der Angriff für deutsche Webentwickler bedeutet, und welche Sofortmaßnahmen jetzt zwingend sind.

drweb.de als bevorzugte Quelle auf Google hinzufügenQualitätsgeprüfte Inhalte direkt in Google News & DiscoverJetzt hinzufügen

Kommt Ihnen das bekannt vor? Sie installieren eine npm-Bibliothek über die offizielle Registry, vertrauen auf die kryptographische Signatur und gehen davon aus, dass eine valide SLSA-Provenance vor manipulierten Paketen schützt. Genau diese Annahme hat ein Angreifer namens TeamPCP am 11. Mai 2026 zerschlagen. Das Postmortem von TanStack dokumentiert in nüchterner Detailtiefe, wie aus einer Kette von drei GitHub-Actions-Schwachstellen ein Wurm wurde, der sich selbst über das Ökosystem verbreitete.

Das Wichtigste in Kürze

  • 11. Mai 2026, 19:20 bis 19:26 UTC: 84 schädliche Versionen von 42 @tanstack/*-Paketen veröffentlicht
  • Betroffen unter anderem @tanstack/react-router mit über 12 Millionen wöchentlichen Downloads
  • Der Wurm verbreitete sich weiter auf @uipath/*, @mistralai/* und @squawk/*, insgesamt über 170 betroffene Pakete
  • CVE-2026-45321, CVSS-Score 9,6 von 10, kritische Einstufung
  • Schadcode trägt gültige SLSA-Provenance-Attestierung Build Level 3

Wie konnte das passieren?

Ein oranges Vorhängeschloss und ein abgetrennter Bügel mit Anhänger auf weißem Grund
TanStack-Sicherheitsleck: GitHub-Actions-Workflow bundle-size.yml führte Fork-Code aus und ermöglichte unbefugten Zugriff auf Secrets

Das TanStack-Postmortem dokumentiert eine Verkettung von drei Schwachstellen, von denen keine alleine ausgereicht hätte.

Erste Schwachstelle: Ein GitHub-Actions-Workflow namens bundle-size.yml lief unter dem Trigger pull_request_target und führte dabei Code aus Forks aus. Diese Konfiguration ist als „Pwn Request“-Muster seit Jahren bekannt, gilt aber als unauffällig, wenn nur Build-Schritte laufen.

Zweite Schwachstelle: Der Workflow nutzte den GitHub-Actions-Cache, der zwischen Forks und dem Haupt-Repository geteilt wird. Der Angreifer öffnete einen Pull Request aus dem Fork zblgg/configuration und vergiftete den pnpm-Store-Cache. Sobald ein legitimer Maintainer einen späteren Pull Request mergte, wurde der vergiftete Cache wiederhergestellt.

Dritte Schwachstelle: Der Release-Workflow nutzte OIDC-Token, die der Angreifer-kontrollierte Code aus dem Runner-Prozessspeicher unter /proc//mem auslas. Mit diesen Token publizierte er die kompromittierten Versionen unter der echten TanStack-OIDC-Identität.

Es wurden keine npm-Token gestohlen, und der npm-Publish-Workflow selbst war nicht kompromittiert.“ — TanStack-Team, Postmortem vom 12. Mai 2026

— Markus Seyfferth, Chefredakteur Dr. Web

Welche Pakete sind betroffen?

Grüner Apfel mit Raupe und „TANSTACK PAKET“-Sticker in Petrischale auf weißem Grund
Der TanStack-Namespace enthält 42 betroffene Pakete, darunter react-router. Fünf Paket-Familien bleiben unberührt: query, table, form, virtual und store

Die Liste umfasst 42 Pakete im @tanstack-Namespace, darunter @tanstack/react-router, das größte React-Routing-Paket, sowie alle Adapter-Pakete für Start, Devtools und Co. Konfirmiert sauber bleiben @tanstack/query, @tanstack/table, @tanstack/form, @tanstack/virtual und @tanstack/store. Diese fünf Familien sind nicht betroffen.

Der Wurm verbreitete sich innerhalb weniger Stunden auf weitere Pakete. Mistral AI verlor seine offizielle Python-SDK auf PyPI (Version 2.4.6, später vom Repository quarantäniert). UiPath verlor 66 Pakete im Enterprise-Automation-Stack. OpenSearch verlor ein zentrales Paket mit 1,3 Millionen wöchentlichen Downloads. Guardrails AI verlor seine Validierungsbibliothek auf PyPI. Insgesamt zählt das OX-Security-Team über 170 betroffene Pakete und kumuliert 518 Millionen Downloads.

Was macht der Schadcode?

Eine Matrjoschka mit Herkunftssiegel und Wurm, der aus einem Loch kriecht
Malware-Wurm stiehlt GitHub-Tokens via Daemon und löscht Entwickler-Verzeichnisse nach Sperrung des Tokens

Der Wurm hat drei klare Ziele. Erstens: Anmeldedaten stehlen. Auf Entwickler-Maschinen installiert er einen persistenten Daemon namens gh-token-monitor (als macOS-LaunchAgent oder Linux-Systemd-Service), der GitHub alle 60 Sekunden abfragt. Sobald das gestohlene Token revoked wird, versucht der Daemon ein „rm -rf ~/“ und löscht das Home-Verzeichnis des Entwicklers. Zweitens: Selbstreplikation.

Mit gestohlenen OIDC-Token publiziert der Wurm neue malware-bestückte Versionen aller Pakete, auf die das CI/CD-System Zugriff hat. Drittens: Daten-Exfiltration über drei redundante Kanäle, eine typosquat-Domain git-tanstack.com, das dezentrale Session-Messenger-Netzwerk und GitHub-API-Dead-Drops.

Pikant: Der Schadcode prüft die Sprach-Einstellung des Systems. Ist die Maschine auf Russisch konfiguriert, beendet sich der Wurm ohne Daten zu exfiltrieren. Diese Tarnung-Logik ist seit der ersten Shai-Hulud-Welle vom September 2025 unverändert.

Welche Sofortmaßnahmen sind zwingend?

Bauklötzestapel mit Rohr, Brandspuren, Metallschild und Papierstreifen auf weißem Grund
TanStack-Pakete vom 11./12. Mai waren kompromittiert. Betroffene müssen Daemon manuell löschen und alle Anmeldedaten rotieren

Wer am 11. oder 12. Mai @tanstack/*-Pakete installiert hat, muss die Installation als kompromittiert behandeln. Konkret bedeutet das:

Erstens, den persistenten Daemon manuell entfernen. Auf macOS unter ~/Library/LaunchAgents/com.user.gh-token-monitor.plist, auf Linux unter ~/.config/systemd/user/gh-token-monitor.service.

Zweitens, alle Anmeldedaten von der betroffenen Maschine rotieren: npm-Token, GitHub Personal Access Tokens, AWS-, GCP- und Azure-Credentials, Kubernetes-Service-Account-Token sowie alle CI/CD-Secrets.

Drittens, im Filesystem nach .claude/- und .vscode/-Verzeichnissen mit Dateien wie router_runtime.js oder setup.mjs suchen und löschen, weil diese Persistenz auch ein npm uninstall überlebt.

Auf Netzwerkebene gilt: Die Domain git-tanstack.com blockieren, ebenso *.getsession.org und die IP 83.142.209.194 am DNS- oder Proxy-Level. Lockfiles und CI-Logs auf Versionen aus dem Angriffszeitraum prüfen. Auf clean publizierte Versionen vom 12. Mai oder später aktualisieren. Wer eigene Pakete im CI/CD veröffentlicht, sollte die GitHub-Actions-Berechtigungen auf id-token: none setzen, außer dort, wo explizit Publishing nötig ist.

Eine gültige SLSA-Provenance ist kein Sicherheitsbeweis mehr. Wer 2026 noch glaubt, das kryptographische Siegel reiche aus, hat die strukturelle Schwäche der Trusted-Publishing-Pipelines nicht verstanden. Pinning und Lockfile-Verification sind jetzt Mittelstands-Disziplin.

— Markus Seyfferth, Chefredakteur Dr. Web

Was lernen WordPress- und Webentwicklungs-Verantwortliche daraus?

Holzkiste mit Kette und Schloss, davor ein Wurm mit Helm, Text:
Sicherheitslücke in React-Ökosystem zeigt Risiken von Paketmanager-Abhängigkeiten für WordPress, Node.js und Vue

Der Angriff trifft das React-Ökosystem, aber die Lehre gilt für jeden Web-Tech-Stack mit Paketmanager-Abhängigkeiten. WordPress-Entwickler, die in Block-Editor-Projekten React-Pakete bündeln, sind genauso betroffen wie Node.js-Backends oder Vue-Frontends. Plugin-Hygiene, die DrWeb in der vergangenen Woche bei einer kritischen WordPress-Plugin-Lücke betont hat, gilt für npm-Pakete genauso. Wer den Stack absichert, sollte sich kurz die Grundlagen der WordPress-Sicherheit in Erinnerung rufen und auch im JavaScript-Ökosystem dieselbe Disziplin durchziehen.

Für Entscheider in Marketing und IT lohnt eine Bestandsaufnahme: Welche externen JavaScript- und Python-Bibliotheken laufen in produktiven Builds? Wer verifiziert die Integrität bei jedem Deploy? Gibt es ein Software Bill of Materials, das Plugin- und Paket-Versionen dokumentiert?

Diese Fragen sind keine theoretische Compliance-Frage mehr, sondern bilden die Mindestkontrolle, die nach NIS2 für viele Mittelständler verpflichtend wird.

Service-Artikel für tiefere Einordnung

Grüner Lego-Turm mit „TANSTACK“-Schriftzug und einer kleinen Wurmfigur
DrWeb-Magazin bietet Long-Tail-Themen. WordPress-Hosting-Vergleich zeigt Hoster mit aktiven Patch-Prozessen und Plugin-Inventur. Browser-Vergleich DACH bewertet Datenschutz

Für tiefere Einordnung lohnen die Long-Tail-Themen aus dem DrWeb-Magazin. Wer einen Hoster mit aktiven Patch-Prozessen sucht, findet im WordPress-Hosting-Vergleich die Anbieter mit dokumentierter Plugin-Inventur. Wer eigene Entwicklungsumgebungen absichern will, kann den Browser-Vergleich DACH für die Datenschutz-Bewertung der wichtigsten Optionen heranziehen. Wer einen sicheren Passwort-Manager im Unternehmen einführen möchte, prüft die Möglichkeiten im Passwort-Generator für die operative Hygiene.

Mehr Newshunger?

Ein Holzklotzturm mit dem Wort „TANSTACK“ und ein Wurm, der ein Schild trägt, davor
Anthropic verachtzigfacht Umsatz und überholt OpenAI in Bewertung
4,4 8 Bewertungen

Wie hat Ihnen dieser Artikel gefallen?