Skip to content

CVE-2026-45321

Embedded Malicious Code: Is CVE-2026-45321 real, exploitable, or a false positive? Here's the community verdict.

Community verdict: No field verdicts yet. Be the first practitioner to weigh in.

signals

public sources

Exploited in wild
Yes
CISA KEV · May 27, 2026
Public exploit
PoC (unverified)
Metasploit/EDB/PoC
Base severity
9.6 Critical
CVSS
Exploitation prob.
3%
FIRST EPSS
Weakness
CWE-506 · Embedded Malicious Code
CWE

Confirmed exploited in the wild. Patch this first, regardless of the base score.

cisa ssvc

CISA Vulnrichment · assessed

Exploitation
Active
in the wild
Automatable
No
at scale
Technical impact
Total
on success

CISA decision, by how critical the affected system is to you:

  • low impact → Track
  • medium impact → Attend
  • high impact → Act

Track: normal patch cycle · Track*: watch closely · Attend: patch sooner · Act: patch now. About SSVC ↗

public exploits

links to sources — we don’t host code

Unverified proof-of-concept code has been published. It may or may not be functional — assess before relying on it.

affected packages

GHSA-g7cv-rxg3-hmpx · GitHub rates it critical
  • npm@tanstack/arktype-adapter
    Vulnerable
    ≥ 1.166.12, < 1.166.16; ≥ 1.166.15, < 1.166.16
    Fixed in
    1.166.16
  • npm@tanstack/eslint-plugin-router
    Vulnerable
    ≥ 1.161.9, < 1.161.13; ≥ 1.161.12, < 1.161.13
    Fixed in
    1.161.13
  • npm@tanstack/eslint-plugin-start
    Vulnerable
    ≥ 0.0.4, < 0.0.8; ≥ 0.0.7, < 0.0.8
    Fixed in
    0.0.8
  • npm@tanstack/history
    Vulnerable
    ≥ 1.161.9, < 1.161.13; ≥ 1.161.12, < 1.161.13
    Fixed in
    1.161.13
  • npm@tanstack/nitro-v2-vite-plugin
    Vulnerable
    ≥ 1.154.12, < 1.154.16; ≥ 1.154.15, < 1.154.16
    Fixed in
    1.154.16
  • npm@tanstack/react-router
    Vulnerable
    ≥ 1.169.5, < 1.169.9; ≥ 1.169.8, < 1.169.9
    Fixed in
    1.169.9
36 more packages
  • npm@tanstack/react-router-devtools
    Vulnerable
    ≥ 1.166.16, < 1.166.20; ≥ 1.166.19, < 1.166.20
    Fixed in
    1.166.20
  • npm@tanstack/react-router-ssr-query
    Vulnerable
    ≥ 1.166.15, < 1.166.19; ≥ 1.166.18, < 1.166.19
    Fixed in
    1.166.19
  • npm@tanstack/react-start
    Vulnerable
    ≥ 1.167.68, < 1.167.72; ≥ 1.167.71, < 1.167.72
    Fixed in
    1.167.72
  • npm@tanstack/react-start-client
    Vulnerable
    ≥ 1.166.51, < 1.166.55; ≥ 1.166.54, < 1.166.55
    Fixed in
    1.166.55
  • npm@tanstack/react-start-rsc
    Vulnerable
    ≥ 0.0.47, < 0.0.51; ≥ 0.0.50, < 0.0.51
    Fixed in
    0.0.51
  • npm@tanstack/react-start-server
    Vulnerable
    ≥ 1.166.55, < 1.166.59; ≥ 1.166.58, < 1.166.59
    Fixed in
    1.166.59
  • npm@tanstack/router-cli
    Vulnerable
    ≥ 1.166.46, < 1.166.50; ≥ 1.166.49, < 1.166.50
    Fixed in
    1.166.50
  • npm@tanstack/router-core
    Vulnerable
    ≥ 1.169.5, < 1.169.9; ≥ 1.169.8, < 1.169.9
    Fixed in
    1.169.9
  • npm@tanstack/router-devtools
    Vulnerable
    ≥ 1.166.16, < 1.166.20; ≥ 1.166.19, < 1.166.20
    Fixed in
    1.166.20
  • npm@tanstack/router-devtools-core
    Vulnerable
    ≥ 1.167.6, < 1.167.10; ≥ 1.167.9, < 1.167.10
    Fixed in
    1.167.10
  • npm@tanstack/router-generator
    Vulnerable
    ≥ 1.166.45, < 1.166.49; ≥ 1.166.48, < 1.166.49
    Fixed in
    1.166.49
  • npm@tanstack/router-plugin
    Vulnerable
    ≥ 1.167.38, < 1.167.42; ≥ 1.167.41, < 1.167.42
    Fixed in
    1.167.42
  • npm@tanstack/router-ssr-query-core
    Vulnerable
    ≥ 1.168.3, < 1.168.7; ≥ 1.168.6, < 1.168.7
    Fixed in
    1.168.7
  • npm@tanstack/router-utils
    Vulnerable
    ≥ 1.161.11, < 1.161.15; ≥ 1.161.14, < 1.161.15
    Fixed in
    1.161.15
  • npm@tanstack/router-vite-plugin
    Vulnerable
    ≥ 1.166.53, < 1.166.57; ≥ 1.166.56, < 1.166.57
    Fixed in
    1.166.57
  • npm@tanstack/solid-router
    Vulnerable
    ≥ 1.169.5, < 1.169.9; ≥ 1.169.8, < 1.169.9
    Fixed in
    1.169.9
  • npm@tanstack/solid-router-devtools
    Vulnerable
    ≥ 1.166.16, < 1.166.20; ≥ 1.166.19, < 1.166.20
    Fixed in
    1.166.20
  • npm@tanstack/solid-router-ssr-query
    Vulnerable
    ≥ 1.166.15, < 1.166.19; ≥ 1.166.18, < 1.166.19
    Fixed in
    1.166.19
  • npm@tanstack/solid-start
    Vulnerable
    ≥ 1.167.65, < 1.167.69; ≥ 1.167.68, < 1.167.69
    Fixed in
    1.167.69
  • npm@tanstack/solid-start-client
    Vulnerable
    ≥ 1.166.50, < 1.166.54; ≥ 1.166.53, < 1.166.54
    Fixed in
    1.166.54
  • npm@tanstack/solid-start-server
    Vulnerable
    ≥ 1.166.54, < 1.166.58; ≥ 1.166.57, < 1.166.58
    Fixed in
    1.166.58
  • npm@tanstack/start-client-core
    Vulnerable
    ≥ 1.168.5, < 1.168.9; ≥ 1.168.8, < 1.168.9
    Fixed in
    1.168.9
  • npm@tanstack/start-fn-stubs
    Vulnerable
    ≥ 1.161.9, < 1.161.13; ≥ 1.161.12, < 1.161.13
    Fixed in
    1.161.13
  • npm@tanstack/start-plugin-core
    Vulnerable
    ≥ 1.169.23, < 1.169.27; ≥ 1.169.26, < 1.169.27
    Fixed in
    1.169.27
  • npm@tanstack/start-server-core
    Vulnerable
    ≥ 1.167.33, < 1.167.37; ≥ 1.167.36, < 1.167.37
    Fixed in
    1.167.37
  • npm@tanstack/start-static-server-functions
    Vulnerable
    ≥ 1.166.44, < 1.166.48; ≥ 1.166.47, < 1.166.48
    Fixed in
    1.166.48
  • npm@tanstack/start-storage-context
    Vulnerable
    ≥ 1.166.38, < 1.166.42; ≥ 1.166.41, < 1.166.42
    Fixed in
    1.166.42
  • npm@tanstack/valibot-adapter
    Vulnerable
    ≥ 1.166.12, < 1.166.16; ≥ 1.166.15, < 1.166.16
    Fixed in
    1.166.16
  • npm@tanstack/virtual-file-routes
    Vulnerable
    ≥ 1.161.10, < 1.161.14; ≥ 1.161.13, < 1.161.14
    Fixed in
    1.161.14
  • npm@tanstack/vue-router
    Vulnerable
    ≥ 1.169.5, < 1.169.9; ≥ 1.169.8, < 1.169.9
    Fixed in
    1.169.9
  • npm@tanstack/vue-router-devtools
    Vulnerable
    ≥ 1.166.16, < 1.166.20; ≥ 1.166.19, < 1.166.20
    Fixed in
    1.166.20
  • npm@tanstack/vue-router-ssr-query
    Vulnerable
    ≥ 1.166.15, < 1.166.19; ≥ 1.166.18, < 1.166.19
    Fixed in
    1.166.19
  • npm@tanstack/vue-start
    Vulnerable
    ≥ 1.167.61, < 1.167.65; ≥ 1.167.64, < 1.167.65
    Fixed in
    1.167.65
  • npm@tanstack/vue-start-client
    Vulnerable
    ≥ 1.166.46, < 1.166.50; ≥ 1.166.49, < 1.166.50
    Fixed in
    1.166.50
  • npm@tanstack/vue-start-server
    Vulnerable
    ≥ 1.166.50, < 1.166.54; ≥ 1.166.53, < 1.166.54
    Fixed in
    1.166.54
  • npm@tanstack/zod-adapter
    Vulnerable
    ≥ 1.166.12, < 1.166.16; ≥ 1.166.15, < 1.166.16
    Fixed in
    1.166.16

Source: GitHub Advisory Database (CC-BY 4.0), via OSV.dev. Check your lockfile version against the ranges above.

baseline read

auto · not a community verdict

Real — exploited in the wild

CISA confirms active exploitation. Treat scanner hits as true positives unless your specific version or config is unaffected.

Based on CISA KEV

Confirm or dispute →

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

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.

Published · Added to CISA KEV (15 days after publication)

Embed this verdict
TruePositive verdict for CVE-2026-45321
Markdown
[![TruePositive verdict](https://www.truepositive.app/cve/CVE-2026-45321/badge.svg)](https://www.truepositive.app/cve/CVE-2026-45321)
HTML
<a href="https://www.truepositive.app/cve/CVE-2026-45321"><img src="https://www.truepositive.app/cve/CVE-2026-45321/badge.svg" alt="TruePositive verdict for CVE-2026-45321"></a>

Live badge that updates automatically as the community verdict changes.

timeline

  1. EPSS jumped · 1% → 3%
  2. CISA SSVC assessment · exploitation: active
  3. Added to VulnCheck KEV · reported exploited in the wild
  4. Added to CISA KEV · confirmed exploited in the wild
  5. Published by NVD

Score and exploit changes tracked since .

Community ground truth

Be the first practitioner to weigh in

So far this is only TruePositive's editorial baseline from public sources. Add your real-world verdict below — it becomes the signal the next person triaging this relies on.

🥇 The first 50 practitioners to contribute earn a Founding Contributor badge.

In your experience, is this finding real and exploitable?

awaiting field verdicts
Real, but not a risk here
Not a real issue

Curated baseline: TruePositive's read from public sources is Real & exploitable — a starting point, not a community verdict.

No account needed. Anonymous verdicts post as an unverified signal. Log in to make yours verified and earn reputation.

Field notes & remediation

Verdicts are the quick signal. Notes are the evidence and fixes behind them.

  • 0
    Field note · TruePositive EditorialCurated

    TanStack Unspecified Vulnerability — TanStack contains an unspecified vulnerability that allowed malicious versions of the product to be published to the npm registry to publish credential-stealing malware under a trusted identity. Listed in the CISA KEV catalog (added 2026-05-27) — confirmed exploited in the wild, not theoretical. It is linked to known ransomware campaigns. FIRST EPSS puts the chance of exploitation in the next 30 days at ~3%. Treat it as real and prioritize remediation over triage.

  • 0
    Remediation · TruePositive EditorialCurated

    Required action for TanStack TanStack: Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable. CISA set a federal remediation due date of 2026-06-10. After patching, verify the vulnerable path is no longer reachable before closing the finding.

Add a field note or remediationoptional
Note type

What are you adding?

Markdown supported · minimum 20 characters.

Same weakness: CWE-506 · Embedded Malicious Code.