Quick answers
- Is CVE-2026-45321 exploited in the wild?
- Yes. CVE-2026-45321 is known to be exploited in the wild, first recorded on 27 May 2026. Treat it as urgent.
- How severe is CVE-2026-45321?
- Critical severity, with a CVSS score of 9.6, published 12 May 2026.
- Which products and versions are affected?
- @tanstack/arktype-adapter (npm) SEMVER:introduced=1.166.12,fixed=1.166.16; @tanstack/eslint-plugin-router (npm) SEMVER:introduced=1.161.9,fixed=1.161.13; @tanstack/eslint-plugin-start (npm) SEMVER:introduced=0.0.4,fixed=0.0.8; @tanstack/history (npm) SEMVER:introduced=1.161.9,fixed=1.161.13; and 47 more.
- Is there a fix for CVE-2026-45321?
- Yes. @tanstack/arktype-adapter (npm): upgrade to 1.166.16 or later; @tanstack/eslint-plugin-router (npm): upgrade to 1.161.13 or later; @tanstack/eslint-plugin-start (npm): upgrade to 0.0.8 or later; @tanstack/history (npm): upgrade to 1.161.13 or later; @tanstack/nitro-v2-vite-plugin (npm): upgrade to 1.154.16 or later; @tanstack/react-router (npm): upgrade to 1.169.9 or later; @tanstack/react-router-devtools (npm): upgrade to 1.166.20 or later; @tanstack/react-router-ssr-query (npm): upgrade to 1.166.19 or later; @tanstack/react-start (npm): upgrade to 1.167.72 or later; @tanstack/react-start-client (npm): upgrade to 1.166.55 or later; @tanstack/react-start-rsc (npm): upgrade to 0.0.51 or later; @tanstack/react-start-server (npm): upgrade to 1.166.59 or later; @tanstack/router-cli (npm): upgrade to 1.166.50 or later; @tanstack/router-core (npm): upgrade to 1.169.9 or later; @tanstack/router-devtools (npm): upgrade to 1.166.20 or later; @tanstack/router-devtools-core (npm): upgrade to 1.167.10 or later; @tanstack/router-generator (npm): upgrade to 1.166.49 or later; @tanstack/router-plugin (npm): upgrade to 1.167.42 or later; @tanstack/router-ssr-query-core (npm): upgrade to 1.168.7 or later; @tanstack/router-utils (npm): upgrade to 1.161.15 or later; @tanstack/router-vite-plugin (npm): upgrade to 1.166.57 or later; @tanstack/solid-router (npm): upgrade to 1.169.9 or later; @tanstack/solid-router-devtools (npm): upgrade to 1.166.20 or later; @tanstack/solid-router-ssr-query (npm): upgrade to 1.166.19 or later; @tanstack/solid-start (npm): upgrade to 1.167.69 or later; @tanstack/solid-start-client (npm): upgrade to 1.166.54 or later; @tanstack/solid-start-server (npm): upgrade to 1.166.58 or later; @tanstack/start-client-core (npm): upgrade to 1.168.9 or later; @tanstack/start-fn-stubs (npm): upgrade to 1.161.13 or later; @tanstack/start-plugin-core (npm): upgrade to 1.169.27 or later; @tanstack/start-server-core (npm): upgrade to 1.167.37 or later; @tanstack/start-static-server-functions (npm): upgrade to 1.166.48 or later; @tanstack/start-storage-context (npm): upgrade to 1.166.42 or later; @tanstack/valibot-adapter (npm): upgrade to 1.166.16 or later; @tanstack/virtual-file-routes (npm): upgrade to 1.161.14 or later; @tanstack/vue-router (npm): upgrade to 1.169.9 or later; @tanstack/vue-router-devtools (npm): upgrade to 1.166.20 or later; @tanstack/vue-router-ssr-query (npm): upgrade to 1.166.19 or later; @tanstack/vue-start (npm): upgrade to 1.167.65 or later; @tanstack/vue-start-client (npm): upgrade to 1.166.50 or later; @tanstack/vue-start-server (npm): upgrade to 1.166.54 or later; @tanstack/zod-adapter (npm): upgrade to 1.166.16 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-45321 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-45321?
- Check whether you run @tanstack/arktype-adapter (npm), @tanstack/eslint-plugin-router (npm), @tanstack/eslint-plugin-start (npm) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- @tanstack/arktype-adapter (npm): upgrade to 1.166.16 or later
npm install @tanstack/arktype-adapter@1.166.16 - @tanstack/eslint-plugin-router (npm): upgrade to 1.161.13 or later
npm install @tanstack/eslint-plugin-router@1.161.13 - @tanstack/eslint-plugin-start (npm): upgrade to 0.0.8 or later
npm install @tanstack/eslint-plugin-start@0.0.8 - @tanstack/history (npm): upgrade to 1.161.13 or later
npm install @tanstack/history@1.161.13 - @tanstack/nitro-v2-vite-plugin (npm): upgrade to 1.154.16 or later
npm install @tanstack/nitro-v2-vite-plugin@1.154.16 - @tanstack/react-router (npm): upgrade to 1.169.9 or later
npm install @tanstack/react-router@1.169.9 - @tanstack/react-router-devtools (npm): upgrade to 1.166.20 or later
npm install @tanstack/react-router-devtools@1.166.20 - @tanstack/react-router-ssr-query (npm): upgrade to 1.166.19 or later
npm install @tanstack/react-router-ssr-query@1.166.19 - @tanstack/react-start (npm): upgrade to 1.167.72 or later
npm install @tanstack/react-start@1.167.72 - @tanstack/react-start-client (npm): upgrade to 1.166.55 or later
npm install @tanstack/react-start-client@1.166.55 - @tanstack/react-start-rsc (npm): upgrade to 0.0.51 or later
npm install @tanstack/react-start-rsc@0.0.51 - @tanstack/react-start-server (npm): upgrade to 1.166.59 or later
npm install @tanstack/react-start-server@1.166.59 - @tanstack/router-cli (npm): upgrade to 1.166.50 or later
npm install @tanstack/router-cli@1.166.50 - @tanstack/router-core (npm): upgrade to 1.169.9 or later
npm install @tanstack/router-core@1.169.9 - @tanstack/router-devtools (npm): upgrade to 1.166.20 or later
npm install @tanstack/router-devtools@1.166.20 - @tanstack/router-devtools-core (npm): upgrade to 1.167.10 or later
npm install @tanstack/router-devtools-core@1.167.10 - @tanstack/router-generator (npm): upgrade to 1.166.49 or later
npm install @tanstack/router-generator@1.166.49 - @tanstack/router-plugin (npm): upgrade to 1.167.42 or later
npm install @tanstack/router-plugin@1.167.42 - @tanstack/router-ssr-query-core (npm): upgrade to 1.168.7 or later
npm install @tanstack/router-ssr-query-core@1.168.7 - @tanstack/router-utils (npm): upgrade to 1.161.15 or later
npm install @tanstack/router-utils@1.161.15 - @tanstack/router-vite-plugin (npm): upgrade to 1.166.57 or later
npm install @tanstack/router-vite-plugin@1.166.57 - @tanstack/solid-router (npm): upgrade to 1.169.9 or later
npm install @tanstack/solid-router@1.169.9 - @tanstack/solid-router-devtools (npm): upgrade to 1.166.20 or later
npm install @tanstack/solid-router-devtools@1.166.20 - @tanstack/solid-router-ssr-query (npm): upgrade to 1.166.19 or later
npm install @tanstack/solid-router-ssr-query@1.166.19 - @tanstack/solid-start (npm): upgrade to 1.167.69 or later
npm install @tanstack/solid-start@1.167.69 - @tanstack/solid-start-client (npm): upgrade to 1.166.54 or later
npm install @tanstack/solid-start-client@1.166.54 - @tanstack/solid-start-server (npm): upgrade to 1.166.58 or later
npm install @tanstack/solid-start-server@1.166.58 - @tanstack/start-client-core (npm): upgrade to 1.168.9 or later
npm install @tanstack/start-client-core@1.168.9 - @tanstack/start-fn-stubs (npm): upgrade to 1.161.13 or later
npm install @tanstack/start-fn-stubs@1.161.13 - @tanstack/start-plugin-core (npm): upgrade to 1.169.27 or later
npm install @tanstack/start-plugin-core@1.169.27 - @tanstack/start-server-core (npm): upgrade to 1.167.37 or later
npm install @tanstack/start-server-core@1.167.37 - @tanstack/start-static-server-functions (npm): upgrade to 1.166.48 or later
npm install @tanstack/start-static-server-functions@1.166.48 - @tanstack/start-storage-context (npm): upgrade to 1.166.42 or later
npm install @tanstack/start-storage-context@1.166.42 - @tanstack/valibot-adapter (npm): upgrade to 1.166.16 or later
npm install @tanstack/valibot-adapter@1.166.16 - @tanstack/virtual-file-routes (npm): upgrade to 1.161.14 or later
npm install @tanstack/virtual-file-routes@1.161.14 - @tanstack/vue-router (npm): upgrade to 1.169.9 or later
npm install @tanstack/vue-router@1.169.9 - @tanstack/vue-router-devtools (npm): upgrade to 1.166.20 or later
npm install @tanstack/vue-router-devtools@1.166.20 - @tanstack/vue-router-ssr-query (npm): upgrade to 1.166.19 or later
npm install @tanstack/vue-router-ssr-query@1.166.19 - @tanstack/vue-start (npm): upgrade to 1.167.65 or later
npm install @tanstack/vue-start@1.167.65 - @tanstack/vue-start-client (npm): upgrade to 1.166.50 or later
npm install @tanstack/vue-start-client@1.166.50 - @tanstack/vue-start-server (npm): upgrade to 1.166.54 or later
npm install @tanstack/vue-start-server@1.166.54 - @tanstack/zod-adapter (npm): upgrade to 1.166.16 or later
npm install @tanstack/zod-adapter@1.166.16
Technical details
An attacker compromised the TanStack npm publishing pipeline by chaining a 'pull_request_target' misconfiguration, GitHub Actions cache poisoning, and runtime memory extraction of OIDC tokens. This allowed the unauthorized publication of 84 malicious versions across 42 packages. The malware executes during the npm install lifecycle via a hidden 'optionalDependencies' entry pointing to a malicious git commit. Once active, it harvests credentials from environment variables, local config files (~/.ssh, ~/.npmrc), and cloud metadata services (IMDS), exfiltrating them via the Session/Oxen messenger network. It also attempts to self-propagate by identifying and infecting other packages maintained by the victim.
Affected products
- TanStack @tanstack/arktype-adapter 1.166.12, 1.166.15
- TanStack @tanstack/react-router 1.169.5, 1.169.8
- TanStack @tanstack/router-core 1.169.5, 1.169.8
- TanStack @tanstack/solid-router 1.169.5, 1.169.8
- TanStack @tanstack/vue-router 1.169.5, 1.169.8
Identifiers
- CVE-2026-45321
- GHSA-g7cv-rxg3-hmpx
Timeline
- 2026-05-11: exploited: Malicious versions first published to npm registry
- 2026-05-11: other: Last malicious version published in the initial wave
- 2026-05-12: advisory: GitHub Advisory published