CVE-2026-45321
Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
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.
Official description from the CVE record, published by GitHub_M. Copyright © 1999-2026 The MITRE Corporation. See /security/cve/legal for the CVE license. View the record on cve.org
Key data
CVSS 3.1 Critical 9.6
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Attack vector: Network
The vulnerable component can be reached over a network, possibly from the Internet.
Attack complexity: Low
No special conditions are needed. The attack can be repeated at will.
Privileges required: None
No account or privileges are needed.
User interaction: Required
A user has to do something first, such as opening a file or following a link.
Scope: Changed
The impact can reach other components beyond the vulnerable one.
Confidentiality impact: High
Serious or total effect on the secrecy of data.
Integrity impact: High
Serious or total effect on the trustworthiness of data.
Availability impact: High
Serious or total effect on availability.
| Metric | Value | What it means |
|---|---|---|
| Attack vector | Network | The vulnerable component can be reached over a network, possibly from the Internet. |
| Attack complexity | Low | No special conditions are needed. The attack can be repeated at will. |
| Privileges required | None | No account or privileges are needed. |
| User interaction | Required | A user has to do something first, such as opening a file or following a link. |
| Scope | Changed | The impact can reach other components beyond the vulnerable one. |
| Confidentiality impact | High | Serious or total effect on the secrecy of data. |
| Integrity impact | High | Serious or total effect on the trustworthiness of data. |
| Availability impact | High | Serious or total effect on availability. |
CVSS is owned and managed by FIRST.Org, Inc. (FIRST) and is used by permission. Each CVSS score on this site is shown together with its vector string, as published in the CVE record by the source named next to it. Learn more at first.org/cvss.
EPSS
- Score
- 0.03278 (3.3% probability)
- Percentile
- 88.5%
- Scores of
- Nov 10, 2026
- Model
- v2026.06.15
CISA Known Exploited Vulnerabilities
- Name in the catalog
- TanStack Unspecified Vulnerability
- Added to the catalog
- May 27, 2026
- Federal due date
- Jun 10, 2026
- Ransomware campaigns
- Known use
CISA assessment as of May 27, 2026
- Exploitation
- Recorded by CISA as active
- Automatable
- no
- Technical impact
- total
Weakness (CWE)
- CWE-506Embedded Malicious Code
Affected products
@tanstack arktype-adapter
- affected: 1.166.12
- affected: 1.166.15
@tanstack eslint-plugin-router
- affected: 1.161.9
- affected: 1.161.12
@tanstack eslint-plugin-start
- affected: 0.0.4
- affected: 0.0.7
@tanstack history
- affected: 1.161.9
- affected: 1.161.12
@tanstack nitro-v2-vite-plugin
- affected: 1.154.12
- affected: 1.154.15
@tanstack react-router
- affected: 1.169.5
- affected: 1.169.8
@tanstack react-router-devtools
- affected: 1.166.16
- affected: 1.166.19
@tanstack react-router-ssr-query
- affected: 1.166.15
- affected: 1.166.18
@tanstack react-start
- affected: 1.167.68
- affected: 1.167.71
@tanstack react-start-client
- affected: 1.166.51
- affected: 1.166.54
@tanstack react-start-rsc
- affected: 0.0.47
- affected: 0.0.50
@tanstack react-start-server
- affected: 1.166.55
- affected: 1.166.58
@tanstack router-cli
- affected: 1.166.46
- affected: 1.166.49
@tanstack router-core
- affected: 1.169.5
- affected: 1.169.8
@tanstack router-devtools
- affected: 1.166.16
- affected: 1.166.19
@tanstack router-devtools-core
- affected: 1.167.6
- affected: 1.167.9
@tanstack router-generator
- affected: 1.166.45
- affected: 1.166.48
@tanstack router-plugin
- affected: 1.167.38
- affected: 1.167.41
@tanstack router-ssr-query-core
- affected: 1.168.3
- affected: 1.168.6
@tanstack router-utils
- affected: 1.161.11
- affected: 1.161.14
@tanstack outer-vite-plugin
- affected: 1.166.53
- affected: 1.166.56
@tanstack solid-router
- affected: 1.169.5
- affected: 1.169.8
@tanstack solid-router-devtools
- affected: 1.166.16
- affected: 1.166.19
@tanstack solid-router-ssr-query
- affected: 1.166.15
- affected: 1.166.18
@tanstack solid-start
- affected: 1.167.65
- affected: 1.167.68
@tanstack solid-start-client
- affected: 1.166.50
- affected: 1.166.53
@tanstack solid-start-server
- affected: 1.166.54
- affected: 1.166.57
@tanstack start-client-core
- affected: 1.168.5
- affected: 1.168.8
@tanstack start-fn-stubs
- affected: 1.161.9
- affected: 1.161.12
@tanstack start-plugin-core
- affected: 1.169.23
- affected: 1.169.26
@tanstack start-server-core
- affected: 1.167.33
- affected: 1.167.36
@tanstack start-static-server-functions
- affected: 1.166.44
- affected: 1.166.47
@tanstack start-storage-context
- affected: 1.166.38
- affected: 1.166.41
@tanstack valibot-adapter
- affected: 1.166.12
- affected: 1.166.15
@tanstack virtual-file-routes
- affected: 1.161.10
- affected: 1.161.13
@tanstack vue-router
- affected: 1.169.5
- affected: 1.169.8
@tanstack vue-router-devtools
- affected: 1.166.16
- affected: 1.166.19
@tanstack vue-router-ssr-query
- affected: 1.166.15
- affected: 1.166.18
@tanstack vue-start
- affected: 1.167.61
- affected: 1.167.64
@tanstack vue-start-client
- affected: 1.166.46
- affected: 1.166.49
@tanstack vue-start-server
- affected: 1.166.50
- affected: 1.166.53
@tanstack zod-adapter
- affected: 1.166.12
- affected: 1.166.15
References
Timeline
- ID reserved
- Record published
- Added to CISA KEV
- Record last updated
Look up another CVE
About CubePath
Data from the CVE Program (MITRE), CISA KEV and FIRST EPSS. CVSS is owned by FIRST and used by permission. Not affiliated with or endorsed by MITRE, CISA or FIRST. Data as of Nov 10, 2026, 19:09 UTC. Sources and licenses