ZeroHour

CVE-2026-45321

KEV ransomware PoC ×2large

Supply chain compromise: credential-stealing code in 42 @tanstack/* npm packages

CISA: TanStack Unspecified Vulnerability

CVSS 3.1
9.6 critical
EPSS
2%p83
Published
()
KEV added
AI analysis

CVE-2026-45321 is a supply chain compromise in which 84 malicious versions across 42 @tanstack/* npm packages (including @tanstack/react-router, @tanstack/react-start, @tanstack/history, and related router/start packages) were published to the npm registry on 2026-05-11 between roughly 19:20 and 19:26 UTC, authenticated through TanStack's legitimate GitHub Actions OIDC trusted-publisher binding. The attacker chained three known weakness classes — a pull_request_target 'Pwn Request' misconfiguration, GitHub Actions cache poisoning across the fork-to-base trust boundary, and runtime memory extraction of the OIDC token from the Actions runner process — allowing publication under a trusted identity without modifying the publish workflow. Each affected package received exactly two malicious versions carrying credential-stealing malware, so developers, CI pipelines, or downstream builds that installed them could have npm, GitHub, and cloud credentials extracted; related reporting (FBI, StepSecurity) links the campaign to stolen cloud credentials and a self-spreading 'Mini Shai-Hulud' worm that also hit packages in other ecosystems such as Mistral AI and Guardrails AI. Exposure is limited to consumers who installed the two malicious versions published per package during the exposure window; other users of these widely deployed libraries were not affected by the malicious publishes. Exploitation is confirmed in the wild: the issue was added to CISA's Known Exploited Vulnerabilities catalog on 2026-05-27 with known ransomware use, and EPSS estimates a 2.3% probability of exploitation in the next 30 days (83rd percentile).

What to do: Audit lockfiles and CI logs for the affected @tanstack/* packages' versions published during the 2026-05-11 ~19:20-19:26 UTC window; if found, reinstall from clean versions per the TanStack postmortem (tanstack.com/blog/npm-supply-chain-compromise-postmortem) and rotate exposed credentials (npm tokens, GitHub PATs/secrets, cloud keys), treating any cached CI artifacts as suspect. Apply mitigations per vendor instructions and CISA BOD 22-01 guidance for cloud services, or discontinue use if mitigations are unavailable, and remediate the underlying CI weaknesses (pull_request_target handling, Actions cache hygiene, and OIDC token handling) to prevent recurrence.

Affected
tanstack @tanstack/arktype-adapter
tanstack @tanstack/eslint-plugin-router
tanstack @tanstack/eslint-plugin-start
tanstack @tanstack/history
tanstack @tanstack/nitro-v2-vite-plugin
tanstack @tanstack/react-router
tanstack @tanstack/react-router-devtools
tanstack @tanstack/react-router-ssr-query
tanstack @tanstack/react-start
tanstack @tanstack/react-start-client
tanstack @tanstack/react-start-rsc
tanstack @tanstack/react-start-server
Estimated exposure
large~100,000+ downstream installs/CI runs (estimate) — TanStack Router and Start are core JavaScript libraries with very large weekly npm download volumes, and 42 packages were compromised, but exposure is limited to consumers who pulled the two malicious versions published per package during…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

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.

CISA Known Exploited Vulnerability
Affected
TanStack TanStack
Required action
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Due date
Ransomware use
Known
Vendors
tanstackmistralantoinebcxbeproductchristianalaresmultiagentcognitionabhishake1kilbotmatheuspergolineilcochranagentworkhqdirigible
Products
tanstack\/arktype-adapter, tanstack\/eslint-plugin-router, tanstack\/eslint-plugin-start, tanstack\/history, tanstack\/nitro-v2-vite-plugin, tanstack\/react-router, tanstack\/react-router-devtools, tanstack\/react-router-ssr-query, tanstack\/react-start, tanstack\/react-start-client, tanstack\/react-start-rsc, tanstack\/react-start-server
Weakness
CWE-506
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

In the news