CVE-2026-45321Malware 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.
Overview
Severity
| Score | Severity | Version | Vector String |
|---|---|---|---|
| 9.6 | CRITICAL | 3.1GitHub_M (CNA) | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H |
CISA required action
⚡ Known exploited · remediation due Jun 10, 2026
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Details
- CVE ID
- CVE-2026-45321
- Status
- Analyzed
- Assigner (CNA)
- GitHub_M
- Published
- May 12, 2026
- Last modified
- 2026-10-26 18:10 UTC
- Weaknesses
- CWE-506 · Embedded Malicious Code
Affected Products
As published by the CNA in the CVE record.
@tanstackarktype-adapter2 version ranges
- 1.166.12
- 1.166.15
@tanstackeslint-plugin-router2 version ranges
- 1.161.9
- 1.161.12
@tanstackeslint-plugin-start2 version ranges
- 0.0.4
- 0.0.7
@tanstackhistory2 version ranges
- 1.161.9
- 1.161.12
@tanstacknitro-v2-vite-plugin2 version ranges
- 1.154.12
- 1.154.15
@tanstackreact-router2 version ranges
- 1.169.5
- 1.169.8
@tanstackreact-router-devtools2 version ranges
- 1.166.16
- 1.166.19
@tanstackreact-router-ssr-query2 version ranges
- 1.166.15
- 1.166.18
@tanstackreact-start2 version ranges
- 1.167.68
- 1.167.71
@tanstackreact-start-client2 version ranges
- 1.166.51
- 1.166.54
@tanstackreact-start-rsc2 version ranges
- 0.0.47
- 0.0.50
@tanstackreact-start-server2 version ranges
- 1.166.55
- 1.166.58
@tanstackrouter-cli2 version ranges
- 1.166.46
- 1.166.49
@tanstackrouter-core2 version ranges
- 1.169.5
- 1.169.8
@tanstackrouter-devtools2 version ranges
- 1.166.16
- 1.166.19
@tanstackrouter-devtools-core2 version ranges
- 1.167.6
- 1.167.9
@tanstackrouter-generator2 version ranges
- 1.166.45
- 1.166.48
@tanstackrouter-plugin2 version ranges
- 1.167.38
- 1.167.41
@tanstackrouter-ssr-query-core2 version ranges
- 1.168.3
- 1.168.6
@tanstackrouter-utils2 version ranges
- 1.161.11
- 1.161.14
@tanstackouter-vite-plugin2 version ranges
- 1.166.53
- 1.166.56
@tanstacksolid-router2 version ranges
- 1.169.5
- 1.169.8
@tanstacksolid-router-devtools2 version ranges
- 1.166.16
- 1.166.19
@tanstacksolid-router-ssr-query2 version ranges
- 1.166.15
- 1.166.18
@tanstacksolid-start2 version ranges
- 1.167.65
- 1.167.68
@tanstacksolid-start-client2 version ranges
- 1.166.50
- 1.166.53
@tanstacksolid-start-server2 version ranges
- 1.166.54
- 1.166.57
@tanstackstart-client-core2 version ranges
- 1.168.5
- 1.168.8
@tanstackstart-fn-stubs2 version ranges
- 1.161.9
- 1.161.12
@tanstackstart-plugin-core2 version ranges
- 1.169.23
- 1.169.26
@tanstackstart-server-core2 version ranges
- 1.167.33
- 1.167.36
@tanstackstart-static-server-functions2 version ranges
- 1.166.44
- 1.166.47
@tanstackstart-storage-context2 version ranges
- 1.166.38
- 1.166.41
@tanstackvalibot-adapter2 version ranges
- 1.166.12
- 1.166.15
@tanstackvirtual-file-routes2 version ranges
- 1.161.10
- 1.161.13
@tanstackvue-router2 version ranges
- 1.169.5
- 1.169.8
@tanstackvue-router-devtools2 version ranges
- 1.166.16
- 1.166.19
@tanstackvue-router-ssr-query2 version ranges
- 1.166.15
- 1.166.18
@tanstackvue-start2 version ranges
- 1.167.61
- 1.167.64
@tanstackvue-start-client2 version ranges
- 1.166.46
- 1.166.49
@tanstackvue-start-server2 version ranges
- 1.166.50
- 1.166.53
@tanstackzod-adapter2 version ranges
- 1.166.12
- 1.166.15
References
- github.com https://github.com/TanStack/router/issues/7383
- github.com https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx
- tanstack.com https://tanstack.com/blog/npm-supply-chain-compromise-postmortem
- stepsecurity.io https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystem
- cisa.gov https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-45321