CVE-2026-45321

CRITICALNVD 9.69.6
EchelonGraph scoreHIGH confidence

Score elevated to 9.6 because this CVE is listed on the CISA Known Exploited Vulnerabilities catalog (added 2026-05-27), indicating real-world exploitation has been confirmed by US federal agencies. NVD baseline CVSS 9.6 retained for reference. Confidence: HIGH.

Triggered by: CISA KEV (actively exploited)
Sources: cisa_kev, epss, nvd
Trending — 3 sources updated this weekExploited in the wild
9.6EG
EchelonGraph verdictPatch nowTreat as an emergency — this is being exploited.
  • Actively exploited in the wild (CISA-KEV)
CISA-KEV: ExploitedEPSS PROB: 2%CVSS: 9.6Exploit: cisa kev · ssvc active · kev ransomware · public exploitExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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 v3
9.6
EG Score
9.6(high)
EG Risk
83(Attend)
EG Risk 83/100SSVC: Attend

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity96% × 45%
Exploitation100% × 40%
Automatability0% × 15%
Action: Remediate soon — notable exploitation risk.
EPSS PROB
2%
EPSS %ILE
82%
KEV
⚠ Exploited

Published

May 12, 2026

Last Modified

August 4, 2026

Advisory Details (5)

Auto-updated Aug 23, 2026
Patch available. Sources: github.
generic

TeamPCP's Mini Shai-Hulud Is Back: A Self-Spreading Supply Chain Attack Compromises TanStack npm Packages - StepSecurity

https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystem
generic

Postmortem: TanStack npm supply-chain compromise | TanStack Blog

https://tanstack.com/blog/npm-supply-chain-compromise-postmortem
generic

Several npm latest releases were compromised · Issue #7383 · TanStack/router · GitHub

https://github.com/TanStack/router/issues/7383
github Patch Available

Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys · Advisory · TanStack/router · GitHub

https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx
cisa Patch Available🔴 Active Exploitation

Known Exploited Vulnerabilities Catalog | CISA

Known Exploited Vulnerabilities Catalog | CISA. Listed in CISA Known Exploited Vulnerabilities catalog.

https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-45321

Vendor Advisories for CVE-2026-45321(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(42 across 1 ecosystem)
npm(42)
PackageVulnerable rangeFixed inDependents
@tanstack/arktype-adapter1.166.151.166.16
@tanstack/eslint-plugin-router1.161.121.161.13
@tanstack/eslint-plugin-start0.0.70.0.8
@tanstack/history1.161.121.161.13
@tanstack/nitro-v2-vite-plugin1.154.151.154.16
@tanstack/react-router1.169.81.169.9
@tanstack/react-router-devtools1.166.191.166.20
@tanstack/react-router-ssr-query1.166.181.166.19
@tanstack/react-start1.167.711.167.72
@tanstack/react-start-client1.166.541.166.55
@tanstack/react-start-rsc0.0.500.0.51
@tanstack/react-start-server1.166.581.166.59
@tanstack/router-cli1.166.491.166.50
@tanstack/router-core1.169.81.169.9
@tanstack/router-devtools1.166.191.166.20
@tanstack/router-devtools-core1.167.91.167.10
@tanstack/router-generator1.166.481.166.49
@tanstack/router-plugin1.167.411.167.42
@tanstack/router-ssr-query-core1.168.61.168.7
@tanstack/router-utils1.161.141.161.15
@tanstack/router-vite-plugin1.166.561.166.57
@tanstack/solid-router1.169.81.169.9
@tanstack/solid-router-devtools1.166.191.166.20
@tanstack/solid-router-ssr-query1.166.181.166.19
@tanstack/solid-start1.167.681.167.69
@tanstack/solid-start-client1.166.531.166.54
@tanstack/solid-start-server1.166.571.166.58
@tanstack/start-client-core1.168.81.168.9
@tanstack/start-fn-stubs1.161.121.161.13
@tanstack/start-plugin-core1.169.261.169.27
@tanstack/start-server-core1.167.361.167.37
@tanstack/start-static-server-functions1.166.471.166.48
@tanstack/start-storage-context1.166.411.166.42
@tanstack/valibot-adapter1.166.151.166.16
@tanstack/virtual-file-routes1.161.131.161.14
@tanstack/vue-router1.169.81.169.9
@tanstack/vue-router-devtools1.166.191.166.20
@tanstack/vue-router-ssr-query1.166.181.166.19
@tanstack/vue-start1.167.641.167.65
@tanstack/vue-start-client1.166.491.166.50
@tanstack/vue-start-server1.166.531.166.54
@tanstack/zod-adapter1.166.151.166.16

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 16× in last 7d / 67× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 186 total refreshes for this CVE.

  1. 2026-08-25 15:56 UTCEG score recompute
  2. 2026-08-25 13:49 UTCEPSS rescore
  3. 2026-08-24 18:52 UTCCISA KEV update
  4. 2026-08-24 17:11 UTCEG score recompute
  5. 2026-08-24 09:35 UTCEG score recompute
  6. 2026-08-23 03:11 UTCEG score recompute
  7. 2026-08-23 00:19 UTCEPSS rescore
  8. 2026-08-22 00:42 UTCEG score recompute
  9. 2026-08-21 23:49 UTCEPSS rescore
  10. 2026-08-21 16:49 UTCCISA KEV update
  11. 2026-08-21 01:57 UTCEG score recompute
  12. 2026-08-20 22:55 UTCEPSS rescore
  13. 2026-08-20 17:06 UTCCISA KEV update
  14. 2026-08-19 19:39 UTCEG score recompute
  15. 2026-08-19 17:33 UTCCISA KEV update
  16. 2026-08-19 17:04 UTCEPSS rescore
  17. 2026-08-18 17:07 UTCEG score recompute
  18. 2026-08-18 16:58 UTCCISA KEV update
  19. 2026-08-18 13:48 UTCEPSS rescore
  20. 2026-08-17 14:27 UTCEG score recompute
  21. 2026-08-17 13:56 UTCCISA KEV update
  22. 2026-08-17 13:47 UTCEPSS rescore
  23. 2026-08-16 15:44 UTCEG score recompute
  24. 2026-08-16 14:56 UTCEPSS rescore
  25. 2026-08-16 04:22 UTCEG score recompute
Show 75 more
  1. 2026-08-16 02:14 UTCEPSS rescore
  2. 2026-08-15 01:52 UTCEG score recompute
  3. 2026-08-15 01:30 UTCEPSS rescore
  4. 2026-08-13 23:22 UTCEG score recompute
  5. 2026-08-13 22:00 UTCEPSS rescore
  6. 2026-08-12 17:06 UTCEG score recompute
  7. 2026-08-12 13:51 UTCEPSS rescore
  8. 2026-08-11 19:32 UTCCISA KEV update
  9. 2026-08-11 14:35 UTCEG score recompute
  10. 2026-08-11 03:13 UTCEG score recompute
  11. 2026-08-11 00:00 UTCEPSS rescore
  12. 2026-08-08 18:26 UTCEG score recompute
  13. 2026-08-08 16:37 UTCEPSS rescore
  14. 2026-08-07 19:43 UTCEG score recompute
  15. 2026-08-07 17:09 UTCCISA KEV update
  16. 2026-08-06 17:14 UTCEG score recompute
  17. 2026-08-06 13:47 UTCEPSS rescore
  18. 2026-08-05 22:18 UTCEG score recompute
  19. 2026-08-05 19:17 UTCEPSS rescore
  20. 2026-08-05 17:25 UTCCISA KEV update
  21. 2026-08-04 17:02 UTCCISA KEV update
  22. 2026-08-04 16:01 UTCEG score recompute
  23. 2026-08-04 15:10 UTCEPSS rescore
  24. 2026-08-04 12:14 UTCEG score recompute
  25. 2026-08-04 10:38 UTCEPSS rescore
  26. 2026-08-03 19:22 UTCCISA KEV update
  27. 2026-08-03 10:51 UTCEG score recompute
  28. 2026-08-03 10:36 UTCEPSS rescore
  29. 2026-08-02 04:32 UTCEG score recompute
  30. 2026-08-02 02:27 UTCEPSS rescore
  31. 2026-08-01 05:48 UTCEG score recompute
  32. 2026-08-01 04:16 UTCEPSS rescore
  33. 2026-07-30 19:35 UTCEG score recompute
  34. 2026-07-30 16:28 UTCEPSS rescore
  35. 2026-07-30 11:58 UTCEG score recompute
  36. 2026-07-30 04:23 UTCEG score recompute
  37. 2026-07-30 01:30 UTCEPSS rescore
  38. 2026-07-29 19:27 UTCCISA KEV update
  39. 2026-07-28 18:13 UTCEG score recompute
  40. 2026-07-28 15:36 UTCEPSS rescore
  41. 2026-07-27 19:24 UTCCISA KEV update
  42. 2026-07-27 17:17 UTCCISA KEV update
  43. 2026-07-26 16:48 UTCEG score recompute
  44. 2026-07-26 14:54 UTCEPSS rescore
  45. 2026-07-26 14:54 UTCEPSS rescore
  46. 2026-07-26 13:01 UTCEG score recompute
  47. 2026-07-26 01:38 UTCEG score recompute
  48. 2026-07-25 14:18 UTCEPSS rescore
  49. 2026-07-24 14:17 UTCEPSS rescore
  50. 2026-07-23 14:18 UTCEPSS rescore
  51. 2026-07-23 03:16 UTCEG score recompute
  52. 2026-07-22 23:01 UTCEG score recompute
  53. 2026-07-22 19:40 UTCCISA KEV update
  54. 2026-07-22 15:27 UTCEG score recompute
  55. 2026-07-22 14:08 UTCEPSS rescore
  56. 2026-07-21 16:41 UTCEG score recompute
  57. 2026-07-21 15:24 UTCEPSS rescore
  58. 2026-07-21 14:37 UTCCISA KEV update
  59. 2026-07-20 17:55 UTCEG score recompute
  60. 2026-07-20 17:08 UTCEPSS rescore
  61. 2026-07-19 15:03 UTCEG score recompute
  62. 2026-07-19 14:31 UTCEPSS rescore
  63. 2026-07-19 03:41 UTCEG score recompute
  64. 2026-07-19 02:29 UTCEPSS rescore
  65. 2026-07-18 12:31 UTCEG score recompute
  66. 2026-07-18 10:04 UTCEPSS rescore
  67. 2026-07-17 10:01 UTCEG score recompute
  68. 2026-07-16 17:04 UTCCISA KEV update
  69. 2026-07-16 17:03 UTCEPSS rescore
  70. 2026-07-15 16:57 UTCEPSS rescore
  71. 2026-07-15 16:49 UTCCISA KEV update
  72. 2026-07-15 15:04 UTCCISA KEV update
  73. 2026-07-15 02:00 UTCEPSS rescore
  74. 2026-07-14 18:05 UTCCISA KEV update
  75. 2026-07-13 22:30 UTCEPSS rescore

Publicly available exploits

(2 references)

Working exploit code is in the public domain (2 GitHub PoCs). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.

  • GitHub PoCfabriziosalmi/tanstack-compromise-checker
    First seen May 16, 2026

    Shell script to detect TanStack npm supply chain attack indicators (CVE-2026-45321 / GHSA-g7cv-rxg3-hmpx)

    Open source ↗
  • GitHub PoCIntrudify/mini-shai-hulud-scanner
    First seen May 13, 2026

    Scanner for the Mini Shai-Hulud npm/PyPI supply chain worm (NHS CC-4781 · CVE-2026-45321). Detects gh-token-monitor persistence, payload artefacts, and attacker commits. Python, Bash, PowerShell.

    Open source ↗

Frequently asked(6)

What is CVE-2026-45321?
CVE-2026-45321 is a critical vulnerability published on May 12, 2026. 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…
When was CVE-2026-45321 disclosed?
CVE-2026-45321 was first published in the National Vulnerability Database on May 12, 2026, with the most recent update on August 4, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-45321 actively exploited?
Yes. CISA added CVE-2026-45321 to the Known Exploited Vulnerabilities catalog on May 27, 2026, affecting TanStack TanStack. KEV listing indicates confirmed exploitation in the wild; this CVE warrants immediate patching attention.
What is the CVSS score of CVE-2026-45321?
CVE-2026-45321 has a CVSS v3 base score of 9.6 (NVD).
Which products are affected by CVE-2026-45321?
CVE-2026-45321 affects TanStack TanStack. The full affected-products list, including version ranges and fixed versions, is shown in the Affected Packages section of this page.
How do I remediate CVE-2026-45321?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-45321, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-45321

Explore →

Is Your Infrastructure Affected by CVE-2026-45321?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.