CVE-2026-45321
Malware in @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys
Sévérité par source
Le label propre à Trivy est CRITICAL. Critique selon GHSA.
Description
On 2026-05-11, between approximately 19:20 and 19:26 UTC, 84 malicious versions across 42 @tanstack/* packages were published to the npm registry. The publishes were authenticated via the legitimate GitHub Actions OIDC trusted-publisher binding for TanStack/router, but the publish workflow itself was not modified. The attacker chained three known vulnerability classes — a pull_request_target "Pwn Request" misconfiguration, GitHub Actions cache poisoning across the fork↔base trust boundary, and runtime memory extraction of the OIDC token from the Actions runner process — to publish credential-stealing malware under a trusted identity. Each affected package received exactly two malicious versions, published a few minutes apart.
Paquets affectés et versions corrigées
| Source | Paquet | Corrigé en |
|---|---|---|
| npm::GitHub Security Advisory npm | @tanstack/arktype-adapter, @tanstack/eslint-plugin-router, @tanstack/eslint-plugin-start et 39 autres | 1.166.16, 1.166.16 et 27 autres |
Afficher les 42 entrées d'une source
| Source | Paquet | Corrigé en |
|---|---|---|
| npm::GitHub Security Advisory npm | @tanstack/arktype-adapter | 1.166.16, 1.166.16 |
| npm::GitHub Security Advisory npm | @tanstack/eslint-plugin-router | 1.161.13, 1.161.13 |
| npm::GitHub Security Advisory npm | @tanstack/eslint-plugin-start | 0.0.8, 0.0.8 |
| npm::GitHub Security Advisory npm | @tanstack/history | 1.161.13, 1.161.13 |
| npm::GitHub Security Advisory npm | @tanstack/nitro-v2-vite-plugin | 1.154.16, 1.154.16 |
| npm::GitHub Security Advisory npm | @tanstack/react-router | 1.169.9, 1.169.9 |
| npm::GitHub Security Advisory npm | @tanstack/react-router-devtools | 1.166.20, 1.166.20 |
| npm::GitHub Security Advisory npm | @tanstack/react-router-ssr-query | 1.166.19, 1.166.19 |
| npm::GitHub Security Advisory npm | @tanstack/react-start | 1.167.72, 1.167.72 |
| npm::GitHub Security Advisory npm | @tanstack/react-start-client | 1.166.55, 1.166.55 |
| npm::GitHub Security Advisory npm | @tanstack/react-start-rsc | 0.0.51, 0.0.51 |
| npm::GitHub Security Advisory npm | @tanstack/react-start-server | 1.166.59, 1.166.59 |
| npm::GitHub Security Advisory npm | @tanstack/router-cli | 1.166.50, 1.166.50 |
| npm::GitHub Security Advisory npm | @tanstack/router-core | 1.169.9, 1.169.9 |
| npm::GitHub Security Advisory npm | @tanstack/router-devtools | 1.166.20, 1.166.20 |
| npm::GitHub Security Advisory npm | @tanstack/router-devtools-core | 1.167.10, 1.167.10 |
| npm::GitHub Security Advisory npm | @tanstack/router-generator | 1.166.49, 1.166.49 |
| npm::GitHub Security Advisory npm | @tanstack/router-plugin | 1.167.42, 1.167.42 |
| npm::GitHub Security Advisory npm | @tanstack/router-ssr-query-core | 1.168.7, 1.168.7 |
| npm::GitHub Security Advisory npm | @tanstack/router-utils | 1.161.15, 1.161.15 |
| npm::GitHub Security Advisory npm | @tanstack/router-vite-plugin | 1.166.57, 1.166.57 |
| npm::GitHub Security Advisory npm | @tanstack/solid-router | 1.169.9, 1.169.9 |
| npm::GitHub Security Advisory npm | @tanstack/solid-router-devtools | 1.166.20, 1.166.20 |
| npm::GitHub Security Advisory npm | @tanstack/solid-router-ssr-query | 1.166.19, 1.166.19 |
| npm::GitHub Security Advisory npm | @tanstack/solid-start | 1.167.69, 1.167.69 |
| npm::GitHub Security Advisory npm | @tanstack/solid-start-client | 1.166.54, 1.166.54 |
| npm::GitHub Security Advisory npm | @tanstack/solid-start-server | 1.166.58, 1.166.58 |
| npm::GitHub Security Advisory npm | @tanstack/start-client-core | 1.168.9, 1.168.9 |
| npm::GitHub Security Advisory npm | @tanstack/start-fn-stubs | 1.161.13, 1.161.13 |
| npm::GitHub Security Advisory npm | @tanstack/start-plugin-core | 1.169.27, 1.169.27 |
| npm::GitHub Security Advisory npm | @tanstack/start-server-core | 1.167.37, 1.167.37 |
| npm::GitHub Security Advisory npm | @tanstack/start-static-server-functions | 1.166.48, 1.166.48 |
| npm::GitHub Security Advisory npm | @tanstack/start-storage-context | 1.166.42, 1.166.42 |
| npm::GitHub Security Advisory npm | @tanstack/valibot-adapter | 1.166.16, 1.166.16 |
| npm::GitHub Security Advisory npm | @tanstack/virtual-file-routes | 1.161.14, 1.161.14 |
| npm::GitHub Security Advisory npm | @tanstack/vue-router | 1.169.9, 1.169.9 |
| npm::GitHub Security Advisory npm | @tanstack/vue-router-devtools | 1.166.20, 1.166.20 |
| npm::GitHub Security Advisory npm | @tanstack/vue-router-ssr-query | 1.166.19, 1.166.19 |
| npm::GitHub Security Advisory npm | @tanstack/vue-start | 1.167.65, 1.167.65 |
| npm::GitHub Security Advisory npm | @tanstack/vue-start-client | 1.166.50, 1.166.50 |
| npm::GitHub Security Advisory npm | @tanstack/vue-start-server | 1.166.54, 1.166.54 |
| npm::GitHub Security Advisory npm | @tanstack/zod-adapter | 1.166.16, 1.166.16 |
Références
- https://github.com/TanStack/router
- https://github.com/TanStack/router/issues/7383
- https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx
- https://nvd.nist.gov/vuln/detail/CVE-2026-45321
- https://socket.dev/blog/tanstack-npm-packages-compromised-mini-shai-hulud-supply-chain-attack
- https://tanstack.com/blog/npm-supply-chain-compromise-postmortem
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-45321
- https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystem