Actively exploited · Published May 12, 2026 · Assigned by GitHub_M

CVE-2026-45321Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys

Critical 9.6 Exploited Ransomware

In plain English

A critical-severity security flaw in arktype-adapter from @tanstack. Attackers are actively exploiting it in the wild (listed by CISA on May 27, 2026). It has been used in ransomware campaigns. The chance it is exploited in the next 30 days is estimated at 3.3% (higher than 88% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)9.6Critical
Exploit odds (30 days)3.3%top 11.5% of all CVEs
Exploited in the wildYesCISA KEV since May 27, 2026
Attack tooling1Public PoC

CISA guidance

Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.

Federal agencies must remediate by Jun 10, 2026.

Official 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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
npm@tanstack/arktype-adapter1.166.16GHSA-g7cv-rxg3-hmpx
npm@tanstack/arktype-adapter1.166.16GHSA-g7cv-rxg3-hmpx
npm@tanstack/eslint-plugin-router1.161.13GHSA-g7cv-rxg3-hmpx
npm@tanstack/eslint-plugin-router1.161.13GHSA-g7cv-rxg3-hmpx
npm@tanstack/eslint-plugin-start0.0.8GHSA-g7cv-rxg3-hmpx
npm@tanstack/eslint-plugin-start0.0.8GHSA-g7cv-rxg3-hmpx
npm@tanstack/history1.161.13GHSA-g7cv-rxg3-hmpx
npm@tanstack/history1.161.13GHSA-g7cv-rxg3-hmpx
npm@tanstack/nitro-v2-vite-plugin1.154.16GHSA-g7cv-rxg3-hmpx
npm@tanstack/nitro-v2-vite-plugin1.154.16GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-router1.169.9GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-router1.169.9GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-router-devtools1.166.20GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-router-devtools1.166.20GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-router-ssr-query1.166.19GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-router-ssr-query1.166.19GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-start1.167.72GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-start1.167.72GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-start-client1.166.55GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-start-client1.166.55GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-start-rsc0.0.51GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-start-rsc0.0.51GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-start-server1.166.59GHSA-g7cv-rxg3-hmpx
npm@tanstack/react-start-server1.166.59GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-cli1.166.50GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-cli1.166.50GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-core1.169.9GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-core1.169.9GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-devtools1.166.20GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-devtools1.166.20GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-devtools-core1.167.10GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-devtools-core1.167.10GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-generator1.166.49GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-generator1.166.49GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-plugin1.167.42GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-plugin1.167.42GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-ssr-query-core1.168.7GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-ssr-query-core1.168.7GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-utils1.161.15GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-utils1.161.15GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-vite-plugin1.166.57GHSA-g7cv-rxg3-hmpx
npm@tanstack/router-vite-plugin1.166.57GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-router1.169.9GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-router1.169.9GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-router-devtools1.166.20GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-router-devtools1.166.20GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-router-ssr-query1.166.19GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-router-ssr-query1.166.19GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-start1.167.69GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-start1.167.69GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-start-client1.166.54GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-start-client1.166.54GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-start-server1.166.58GHSA-g7cv-rxg3-hmpx
npm@tanstack/solid-start-server1.166.58GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-client-core1.168.9GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-client-core1.168.9GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-fn-stubs1.161.13GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-fn-stubs1.161.13GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-plugin-core1.169.27GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-plugin-core1.169.27GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-server-core1.167.37GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-server-core1.167.37GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-static-server-functions1.166.48GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-static-server-functions1.166.48GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-storage-context1.166.42GHSA-g7cv-rxg3-hmpx
npm@tanstack/start-storage-context1.166.42GHSA-g7cv-rxg3-hmpx
npm@tanstack/valibot-adapter1.166.16GHSA-g7cv-rxg3-hmpx
npm@tanstack/valibot-adapter1.166.16GHSA-g7cv-rxg3-hmpx
npm@tanstack/virtual-file-routes1.161.14GHSA-g7cv-rxg3-hmpx
npm@tanstack/virtual-file-routes1.161.14GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-router1.169.9GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-router1.169.9GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-router-devtools1.166.20GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-router-devtools1.166.20GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-router-ssr-query1.166.19GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-router-ssr-query1.166.19GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-start1.167.65GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-start1.167.65GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-start-client1.166.50GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-start-client1.166.50GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-start-server1.166.54GHSA-g7cv-rxg3-hmpx
npm@tanstack/vue-start-server1.166.54GHSA-g7cv-rxg3-hmpx
npm@tanstack/zod-adapter1.166.16GHSA-g7cv-rxg3-hmpx
npm@tanstack/zod-adapter1.166.16GHSA-g7cv-rxg3-hmpx

Affected products (as reported)

VendorProductVersions
@tanstack arktype-adapter 1.166.121.166.15
@tanstack eslint-plugin-router 1.161.91.161.12
@tanstack eslint-plugin-start 0.0.40.0.7
@tanstack history 1.161.91.161.12
@tanstack nitro-v2-vite-plugin 1.154.121.154.15
@tanstack react-router 1.169.51.169.8
@tanstack react-router-devtools 1.166.161.166.19
@tanstack react-router-ssr-query 1.166.151.166.18
@tanstack react-start 1.167.681.167.71
@tanstack react-start-client 1.166.511.166.54
@tanstack react-start-rsc 0.0.470.0.50
@tanstack react-start-server 1.166.551.166.58
@tanstack router-cli 1.166.461.166.49
@tanstack router-core 1.169.51.169.8
@tanstack router-devtools 1.166.161.166.19
@tanstack router-devtools-core 1.167.61.167.9
@tanstack router-generator 1.166.451.166.48
@tanstack router-plugin 1.167.381.167.41
@tanstack router-ssr-query-core 1.168.31.168.6
@tanstack router-utils 1.161.111.161.14
@tanstack outer-vite-plugin 1.166.531.166.56
@tanstack solid-router 1.169.51.169.8
@tanstack solid-router-devtools 1.166.161.166.19
@tanstack solid-router-ssr-query 1.166.151.166.18
@tanstack solid-start 1.167.651.167.68
@tanstack solid-start-client 1.166.501.166.53
@tanstack solid-start-server 1.166.541.166.57
@tanstack start-client-core 1.168.51.168.8
@tanstack start-fn-stubs 1.161.91.161.12
@tanstack start-plugin-core 1.169.231.169.26

Weakness: CWE-506 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

References