CVE-2026-45321
Last modified
CVE-2026-45321 is a critical-severity vulnerability rated 9.6/10 on the CVSS scale. 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. CISA has confirmed active exploitation in the wild. EPSS estimates a 2.34% chance of exploitation in the next 30 days.
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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Exploitation Status
This vulnerability is listed in CISA’s Known Exploited Vulnerabilities catalog, confirming active exploitation in the wild. Federal agencies must remediate by .
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Tanstack | Tanstack\/Arktype-Adapter | 1.166.12 |
| Tanstack | Tanstack\/Arktype-Adapter | 1.166.15 |
| Tanstack | Tanstack\/Eslint-Plugin-Router | 1.161.9 |
| Tanstack | Tanstack\/Eslint-Plugin-Router | 1.161.12 |
| Tanstack | Tanstack\/Eslint-Plugin-Start | 0.0.4 |
| Tanstack | Tanstack\/Eslint-Plugin-Start | 0.0.7 |
| Tanstack | Tanstack\/History | 1.161.9 |
| Tanstack | Tanstack\/History | 1.161.12 |
| Tanstack | Tanstack\/Nitro-V2-Vite-Plugin | 1.154.12 |
| Tanstack | Tanstack\/Nitro-V2-Vite-Plugin | 1.154.15 |
| Tanstack | Tanstack\/React-Router | 1.169.5 |
| Tanstack | Tanstack\/React-Router | 1.169.8 |
| Tanstack | Tanstack\/React-Router-Devtools | 1.166.16 |
| Tanstack | Tanstack\/React-Router-Devtools | 1.166.19 |
| Tanstack | Tanstack\/React-Router-Ssr-Query | 1.166.15 |
| Tanstack | Tanstack\/React-Router-Ssr-Query | 1.166.18 |
| Tanstack | Tanstack\/React-Start | 1.167.68 |
| Tanstack | Tanstack\/React-Start | 1.167.71 |
| Tanstack | Tanstack\/React-Start-Client | 1.166.51 |
| Tanstack | Tanstack\/React-Start-Client | 1.166.54 |
| Tanstack | Tanstack\/React-Start-Rsc | 0.0.47 |
| Tanstack | Tanstack\/React-Start-Rsc | 0.0.50 |
| Tanstack | Tanstack\/React-Start-Server | 1.166.55 |
| Tanstack | Tanstack\/React-Start-Server | 1.166.58 |
| Tanstack | Tanstack\/Router-Cli | 1.166.46 |
| Tanstack | Tanstack\/Router-Cli | 1.166.49 |
| Tanstack | Tanstack\/Router-Core | 1.169.5 |
| Tanstack | Tanstack\/Router-Core | 1.169.8 |
| Tanstack | Tanstack\/Router-Devtools | 1.166.16 |
| Tanstack | Tanstack\/Router-Devtools | 1.166.19 |
| Tanstack | Tanstack\/Router-Devtools-Core | 1.167.6 |
| Tanstack | Tanstack\/Router-Devtools-Core | 1.167.9 |
| Tanstack | Tanstack\/Router-Generator | 1.166.45 |
| Tanstack | Tanstack\/Router-Generator | 1.166.48 |
| Tanstack | Tanstack\/Router-Plugin | 1.167.38 |
| Tanstack | Tanstack\/Router-Plugin | 1.167.41 |
| Tanstack | Tanstack\/Router-Ssr-Query-Core | 1.168.3 |
| Tanstack | Tanstack\/Router-Ssr-Query-Core | 1.168.6 |
| Tanstack | Tanstack\/Router-Utils | 1.161.11 |
| Tanstack | Tanstack\/Router-Utils | 1.161.14 |
| Tanstack | Tanstack\/Router-Vite-Plugin | 1.166.53 |
| Tanstack | Tanstack\/Router-Vite-Plugin | 1.166.56 |
| Tanstack | Tanstack\/Solid-Router | 1.169.5 |
| Tanstack | Tanstack\/Solid-Router | 1.169.8 |
| Tanstack | Tanstack\/Solid-Router-Devtools | 1.166.16 |
| Tanstack | Tanstack\/Solid-Router-Devtools | 1.166.19 |
| Tanstack | Tanstack\/Solid-Router-Ssr-Query | 1.166.15 |
| Tanstack | Tanstack\/Solid-Router-Ssr-Query | 1.166.18 |
| Tanstack | Tanstack\/Solid-Start | 1.167.65 |
| Tanstack | Tanstack\/Solid-Start | 1.167.68 |
Showing 50 of 343 affected configurations. See NVD for the full list.
References
- https://github.com/TanStack/router/issues/7383Issue Tracking
- https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpxMitigation, Vendor Advisory
- https://tanstack.com/blog/npm-supply-chain-compromise-postmortemExploit, Vendor Advisory
- https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystemExploit, Third Party Advisory
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-45321US Government Resource
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2026-45321?
How severe is CVE-2026-45321?
How do I fix CVE-2026-45321?
Are you affected by CVE-2026-45321?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
