CVE-2026-45321Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys
Updated under an hour ago ()
Does this affect you?
It affects @tanstack arktype-adapter and 59 other products. Add what you run to find out whether that includes you.
CISA lists it as known exploited since May 27, 2026; federal agencies had to remediate by Jun 10, 2026, and it is known to be used in ransomware. Treat that date as your deadline.
Do this next
Free account, 1 product
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.
- CVSS
- 9.6 CRITICAL (v3.1, CNA)CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
- Weakness (CWE)
- CWE-506
- Known exploited
- Added to CISA KEV May 27, 2026; federal remediation due Jun 10, 2026; known ransomware useApply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
- EPSS (exploitation in the next 30 days)
- 1.05% (percentile 64)
- Assigned by
- GitHub_M
- NVD analysis
- Analyzed
- Record last updated
- Aug 4, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
@tanstack arktype-adapter tanstack:arktype_adapter (from the name) | 1.166.12; 1.166.15 | CNA record |
@tanstack eslint-plugin-router tanstack:eslint_plugin_router (from the name) | 1.161.9; 1.161.12 | CNA record |
@tanstack eslint-plugin-start tanstack:eslint_plugin_start (from the name) | 0.0.4; 0.0.7 | CNA record |
@tanstack history tanstack:history (from the name) | 1.161.9; 1.161.12 | CNA record |
@tanstack nitro-v2-vite-plugin tanstack:nitro_v2_vite_plugin (from the name) | 1.154.12; 1.154.15 | CNA record |
@tanstack react-router tanstack:react_router (from the name) | 1.169.5; 1.169.8 | CNA record |
@tanstack react-router-devtools tanstack:react_router_devtools (from the name) | 1.166.16; 1.166.19 | CNA record |
@tanstack react-router-ssr-query tanstack:react_router_ssr_query (from the name) | 1.166.15; 1.166.18 | CNA record |
@tanstack react-start tanstack:react_start (from the name) | 1.167.68; 1.167.71 | CNA record |
@tanstack react-start-client tanstack:react_start_client (from the name) | 1.166.51; 1.166.54 | CNA record |
@tanstack react-start-rsc tanstack:react_start_rsc (from the name) | 0.0.47; 0.0.50 | CNA record |
@tanstack react-start-server tanstack:react_start_server (from the name) | 1.166.55; 1.166.58 | CNA record |
@tanstack router-cli tanstack:router_cli (from the name) | 1.166.46; 1.166.49 | CNA record |
@tanstack router-core tanstack:router_core (from the name) | 1.169.5; 1.169.8 | CNA record |
@tanstack router-devtools tanstack:router_devtools (from the name) | 1.166.16; 1.166.19 | CNA record |
@tanstack router-devtools-core tanstack:router_devtools_core (from the name) | 1.167.6; 1.167.9 | CNA record |
@tanstack router-generator tanstack:router_generator (from the name) | 1.166.45; 1.166.48 | CNA record |
@tanstack router-plugin tanstack:router_plugin (from the name) | 1.167.38; 1.167.41 | CNA record |
@tanstack router-ssr-query-core tanstack:router_ssr_query_core (from the name) | 1.168.3; 1.168.6 | CNA record |
@tanstack router-utils tanstack:router_utils (from the name) | 1.161.11; 1.161.14 | CNA record |
@tanstack outer-vite-plugin tanstack:outer_vite_plugin (from the name) | 1.166.53; 1.166.56 | CNA record |
@tanstack solid-router tanstack:solid_router (from the name) | 1.169.5; 1.169.8 | CNA record |
@tanstack solid-router-devtools tanstack:solid_router_devtools (from the name) | 1.166.16; 1.166.19 | CNA record |
@tanstack solid-router-ssr-query tanstack:solid_router_ssr_query (from the name) | 1.166.15; 1.166.18 | CNA record |
@tanstack solid-start tanstack:solid_start (from the name) | 1.167.65; 1.167.68 | CNA record |
@tanstack solid-start-client tanstack:solid_start_client (from the name) | 1.166.50; 1.166.53 | CNA record |
@tanstack solid-start-server tanstack:solid_start_server (from the name) | 1.166.54; 1.166.57 | CNA record |
@tanstack start-client-core tanstack:start_client_core (from the name) | 1.168.5; 1.168.8 | CNA record |
@tanstack start-fn-stubs tanstack:start_fn_stubs (from the name) | 1.161.9; 1.161.12 | CNA record |
@tanstack start-plugin-core tanstack:start_plugin_core (from the name) | 1.169.23; 1.169.26 | CNA record |
@tanstack start-server-core tanstack:start_server_core (from the name) | 1.167.33; 1.167.36 | CNA record |
@tanstack start-static-server-functions tanstack:start_static_server_functions (from the name) | 1.166.44; 1.166.47 | CNA record |
@tanstack start-storage-context tanstack:start_storage_context (from the name) | 1.166.38; 1.166.41 | CNA record |
@tanstack valibot-adapter tanstack:valibot_adapter (from the name) | 1.166.12; 1.166.15 | CNA record |
@tanstack virtual-file-routes tanstack:virtual_file_routes (from the name) | 1.161.10; 1.161.13 | CNA record |
@tanstack vue-router tanstack:vue_router (from the name) | 1.169.5; 1.169.8 | CNA record |
@tanstack vue-router-devtools tanstack:vue_router_devtools (from the name) | 1.166.16; 1.166.19 | CNA record |
@tanstack vue-router-ssr-query tanstack:vue_router_ssr_query (from the name) | 1.166.15; 1.166.18 | CNA record |
@tanstack vue-start tanstack:vue_start (from the name) | 1.167.61; 1.167.64 | CNA record |
@tanstack vue-start-client tanstack:vue_start_client (from the name) | 1.166.46; 1.166.49 | CNA record |
@tanstack vue-start-server tanstack:vue_start_server (from the name) | 1.166.50; 1.166.53 | CNA record |
@tanstack zod-adapter tanstack:zod_adapter (from the name) | 1.166.12; 1.166.15 | CNA record |
tanstack tanstack/arktype-adapter tanstack:tanstack/arktype-adapter | 1.166.12; 1.166.15 | NVD |
tanstack tanstack/eslint-plugin-router tanstack:tanstack/eslint-plugin-router | 1.161.9; 1.161.12 | NVD |
tanstack tanstack/eslint-plugin-start tanstack:tanstack/eslint-plugin-start | 0.0.4; 0.0.7 | NVD |
tanstack tanstack/history tanstack:tanstack/history | 1.161.9; 1.161.12 | NVD |
tanstack tanstack/nitro-v2-vite-plugin tanstack:tanstack/nitro-v2-vite-plugin | 1.154.12; 1.154.15 | NVD |
tanstack tanstack/react-router tanstack:tanstack/react-router | 1.169.5; 1.169.8 | NVD |
tanstack tanstack/react-router-devtools tanstack:tanstack/react-router-devtools | 1.166.16; 1.166.19 | NVD |
tanstack tanstack/react-router-ssr-query tanstack:tanstack/react-router-ssr-query | 1.166.15; 1.166.18 | NVD |
tanstack tanstack/react-start tanstack:tanstack/react-start | 1.167.68; 1.167.71 | NVD |
tanstack tanstack/react-start-client tanstack:tanstack/react-start-client | 1.166.51; 1.166.54 | NVD |
tanstack tanstack/react-start-rsc tanstack:tanstack/react-start-rsc | 0.0.47; 0.0.50 | NVD |
tanstack tanstack/react-start-server tanstack:tanstack/react-start-server | 1.166.55; 1.166.58 | NVD |
tanstack tanstack/router-cli tanstack:tanstack/router-cli | 1.166.46; 1.166.49 | NVD |
tanstack tanstack/router-core tanstack:tanstack/router-core | 1.169.5; 1.169.8 | NVD |
tanstack tanstack/router-devtools tanstack:tanstack/router-devtools | 1.166.16; 1.166.19 | NVD |
tanstack tanstack/router-devtools-core tanstack:tanstack/router-devtools-core | 1.167.6; 1.167.9 | NVD |
tanstack tanstack/router-generator tanstack:tanstack/router-generator | 1.166.45; 1.166.48 | NVD |
tanstack tanstack/router-plugin tanstack:tanstack/router-plugin | 1.167.38; 1.167.41 | NVD |
References
- https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpxx-refsource-confirm, mitigation, vendor-advisory
- https://github.com/TanStack/router/issues/7383x-refsource-misc, issue-tracking
- https://tanstack.com/blog/npm-supply-chain-compromise-postmortemx-refsource-misc, exploit, vendor-advisory
- https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystemx-refsource-misc, exploit, third-party-advisory
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-45321us-government-resource
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.