CVE-2026-45321
Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys
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.
- Affected
- @tanstack · arktype-adapter · eslint-plugin-router · eslint-plugin-start · history · nitro-v2-vite-plugin · react-router
- CVSS v3.1 GITHUB
- 9.6 CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H - EPSS
- 1.05% chance of exploitation in the next 30 days, 64th percentile
- CISA KEV
- added 2026-05-27, used in ransomware campaigns
- Published
- 2026-05-12
- Updated
- 2026-08-04
Proof-of-concept exploits (3)
- Yomisana/are-you-get-tanstack-attack0★ · 2026-05-13
- 7whyex/CVE-2026-45321-Tanstack0★ · 2026-06-25
- renewablehacking/CVE-2026-45321-Tanstack0★ · 2026-05-25
Security advisories
- TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx
- https://tanstack.com/blog/npm-supply-chain-compromise-postmortem
- https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-at…
- advisories/GHSA-g7cv-rxg3-hmpx
- TanStack/router/issues/7383