Independent & educational platform Not a government body. No link or affiliation with any government organisation. Made for learning only. Test only systems you own or are authorised to test. Become a Partner or Sponsor → Full disclaimer

CVE-2026-45321

critical CISA KEV

TanStack Unspecified Vulnerability

Vendor / product: TanStack — TanStack

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
9.6 (CVSS v3.1)
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Severity source: NVD CVSS v3.1 (security-advisories@github.com)
Timeline (UTC)
Published: 2026-05-12 01:16
Modified: 2026-10-26 18:10
NVD status: Analyzed
Last synced 1 day ago
Verified against the source API 2026-10-27 07:07 UTC
Exploitation
Listed in CISA KEV
Added 2026-05-27 · due 2026-06-10
Known ransomware use: Known

Required action (CISA)

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

Affected products

tanstack / tanstack\/arktype-adapter 1.166.12, 1.166.15
tanstack / tanstack\/eslint-plugin-router 1.161.9, 1.161.12
tanstack / tanstack\/eslint-plugin-start 0.0.4, 0.0.7
tanstack / tanstack\/history 1.161.9, 1.161.12
tanstack / tanstack\/nitro-v2-vite-plugin 1.154.12, 1.154.15
tanstack / tanstack\/react-router 1.169.5, 1.169.8
tanstack / tanstack\/react-router-devtools 1.166.16, 1.166.19
tanstack / tanstack\/react-router-ssr-query 1.166.15, 1.166.18
tanstack / tanstack\/react-start 1.167.68, 1.167.71
tanstack / tanstack\/react-start-client 1.166.51, 1.166.54
tanstack / tanstack\/react-start-rsc 0.0.47, 0.0.50
tanstack / tanstack\/react-start-server 1.166.55, 1.166.58
tanstack / tanstack\/router-cli 1.166.46, 1.166.49
tanstack / tanstack\/router-core 1.169.5, 1.169.8
tanstack / tanstack\/router-devtools 1.166.16, 1.166.19
tanstack / tanstack\/router-devtools-core 1.167.6, 1.167.9
tanstack / tanstack\/router-generator 1.166.45, 1.166.48
tanstack / tanstack\/router-plugin 1.167.38, 1.167.41
tanstack / tanstack\/router-ssr-query-core 1.168.3, 1.168.6
tanstack / tanstack\/router-utils 1.161.11, 1.161.14
tanstack / tanstack\/router-vite-plugin 1.166.53, 1.166.56
tanstack / tanstack\/solid-router 1.169.5, 1.169.8
tanstack / tanstack\/solid-router-devtools 1.166.16, 1.166.19
tanstack / tanstack\/solid-router-ssr-query 1.166.15, 1.166.18
tanstack / tanstack\/solid-start 1.167.65, 1.167.68
tanstack / tanstack\/solid-start-client 1.166.50, 1.166.53
tanstack / tanstack\/solid-start-server 1.166.54, 1.166.57
tanstack / tanstack\/start-client-core 1.168.5, 1.168.8
tanstack / tanstack\/start-fn-stubs 1.161.9, 1.161.12
tanstack / tanstack\/start-plugin-core 1.169.23, 1.169.26
tanstack / tanstack\/start-server-core 1.167.33, 1.167.36
tanstack / tanstack\/start-static-server-functions 1.166.44, 1.166.47
tanstack / tanstack\/start-storage-context 1.166.38, 1.166.41
tanstack / tanstack\/valibot-adapter 1.166.12, 1.166.15
tanstack / tanstack\/virtual-file-routes 1.161.10, 1.161.13
tanstack / tanstack\/vue-router 1.169.5, 1.169.8
tanstack / tanstack\/vue-router-devtools 1.166.16, 1.166.19
tanstack / tanstack\/vue-router-ssr-query 1.166.15, 1.166.18
tanstack / tanstack\/vue-start 1.167.61, 1.167.64
tanstack / tanstack\/vue-start-client 1.166.46, 1.166.49
tanstack / tanstack\/vue-start-server 1.166.50, 1.166.53
tanstack / tanstack\/zod-adapter 1.166.12, 1.166.15
mistral / mistralai 2.4.6
mistral / mistralai\/mistralai 2.2.3, 2.2.4
mistral / mistralai\/mistralai-azure 1.7.2, 1.7.3
mistral / mistralai\/mistralai-gcp 1.7.2, 1.7.3
antoinebcx / ml-toolkit-ts 1.0.4, 1.0.5
antoinebcx / ml-toolkit-ts\/preprocessing 1.0.2, 1.0.3
antoinebcx / ml-toolkit-ts\/xgboost 1.0.3, 1.0.4
beproduct / beproduct\/nestjs-auth 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7

Weakness classification (CWE)

Source: NVD / CISA. “NVD-CWE-Other” and “NVD-CWE-noinfo” mean NVD could not assign a specific weakness.

Mitigation & advisories

Vendor advisory: https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx
Vendor advisory: https://tanstack.com/blog/npm-supply-chain-compromise-postmortem
Patch / mitigation: https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx

References

Data sources

CISA KEV — fetched 2026-10-27 06:50 UTC · record ↗
NVD CVE API 2.0 — fetched 2026-10-27 07:07 UTC · record ↗

Learn the basics

Understanding CVEs and CVSS Scores