# CVE-2026-45321

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.

- Page: https://www.vulneraibility.com/cve/CVE-2026-45321
- CVSS: 9.6
- Known exploited: yes, in CISA KEV since 2026-05-27; CISA due date 2026-06-10; known ransomware use
- EPSS: 3.28%
- Unvetted proof-of-concept code on GitHub: 12 GitHub proofs of concept (first 2026-05-12)
- CISA SSVC: exploitation active, automatable no, technical impact total (assessed 2026-05-27)
- Weakness: CWE-506
- Also known as: GHSA-g7cv-rxg3-hmpx
- Published: 2026-05-12

## Affected versions

- @tanstack arktype-adapter: affected 1.166.12; 1.166.15
- @tanstack eslint-plugin-router: affected 1.161.9; 1.161.12
- @tanstack eslint-plugin-start: affected 0.0.4; 0.0.7
- @tanstack history: affected 1.161.9; 1.161.12
- @tanstack nitro-v2-vite-plugin: affected 1.154.12; 1.154.15
- @tanstack outer-vite-plugin: affected 1.166.53; 1.166.56
- @tanstack react-router: affected 1.169.5; 1.169.8
- @tanstack react-router-devtools: affected 1.166.16; 1.166.19
- @tanstack react-router-ssr-query: affected 1.166.15; 1.166.18
- @tanstack react-start: affected 1.167.68; 1.167.71
- @tanstack react-start-client: affected 1.166.51; 1.166.54
- @tanstack react-start-rsc: affected 0.0.47; 0.0.50
- @tanstack react-start-server: affected 1.166.55; 1.166.58
- @tanstack router-cli: affected 1.166.46; 1.166.49
- @tanstack router-core: affected 1.169.5; 1.169.8
- @tanstack router-devtools: affected 1.166.16; 1.166.19
- @tanstack router-devtools-core: affected 1.167.6; 1.167.9
- @tanstack router-generator: affected 1.166.45; 1.166.48
- @tanstack router-plugin: affected 1.167.38; 1.167.41
- @tanstack router-ssr-query-core: affected 1.168.3; 1.168.6
- @tanstack router-utils: affected 1.161.11; 1.161.14
- @tanstack solid-router: affected 1.169.5; 1.169.8
- @tanstack solid-router-devtools: affected 1.166.16; 1.166.19
- @tanstack solid-router-ssr-query: affected 1.166.15; 1.166.18
- @tanstack solid-start: affected 1.167.65; 1.167.68
- @tanstack solid-start-client: affected 1.166.50; 1.166.53
- @tanstack solid-start-server: affected 1.166.54; 1.166.57
- @tanstack start-client-core: affected 1.168.5; 1.168.8
- @tanstack start-fn-stubs: affected 1.161.9; 1.161.12
- @tanstack start-plugin-core: affected 1.169.23; 1.169.26
- @tanstack start-server-core: affected 1.167.33; 1.167.36
- @tanstack start-static-server-functions: affected 1.166.44; 1.166.47
- @tanstack start-storage-context: affected 1.166.38; 1.166.41
- @tanstack valibot-adapter: affected 1.166.12; 1.166.15
- @tanstack virtual-file-routes: affected 1.161.10; 1.161.13
- @tanstack vue-router: affected 1.169.5; 1.169.8
- @tanstack vue-router-devtools: affected 1.166.16; 1.166.19
- @tanstack vue-router-ssr-query: affected 1.166.15; 1.166.18
- @tanstack vue-start: affected 1.167.61; 1.167.64
- @tanstack vue-start-client: affected 1.166.46; 1.166.49
- @tanstack vue-start-server: affected 1.166.50; 1.166.53
- @tanstack zod-adapter: affected 1.166.12; 1.166.15

A version outside these ranges is not a statement that it is unaffected.

## References

- [other] https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx
- [other] https://github.com/TanStack/router/issues/7383
- [other] https://tanstack.com/blog/npm-supply-chain-compromise-postmortem
- [other] https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystem
- [other] https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-45321

---
Summary, impact and action are written by the vulneraibility.com AI analysis pipeline from the CVE record, NVD, CISA and FIRST data; verify against the references.
