CVE-2026-45321
CVE-2026-45321 — Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys
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 Updated Sources: NVD, @tanstack (CNA), CISA, FIRST EPSS, GitHub, SOCRadar CTI
Triage
Is it exploited, how likely is exploitation, what does it touch, and how severe do the scoring sources call it.
Exploitation
Confirmed
CISA KEV, listed May 27, 2026
EPSS
2%
ahead of 82% of scored CVEs
CVSS base
9.6
critical
CISA SSVC assessment
Three decision points CISA publishes for the CVEs it assesses · SSVC 2.0.3. A stakeholder decision, not a severity score.
Exploitation
Active
none · proof-of-concept · active
Automatable
No
can an attacker script all four kill-chain steps
Technical impact
Total
partial · total control of the vulnerable component
Remediation
The vendor's own words where we have them.
Upgrade arktype-adapter to a fixed release. Apply vendor patches per advisory and restrict external exposure of the affected component until patched.
CISA required action
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 deadline Jun 10, 2026 — passed 100 days ago
First 24 hours
Ordered from the record's own fields — exposure first, because you cannot patch what you have not found.
- Identify exposed assets running affected vendor/product/version combinations.
- Treat as emergency remediation because CISA KEV status is present.
- Search available logs for exploit probes, errors, authentication anomalies, or suspicious child processes matching the vulnerability class.
Affected scope
Vendor, product and version as the advisories word them.
| Vendor | Product | Versions | Status |
|---|---|---|---|
| @tanstack | arktype-adapter | 1.166.12 | Vulnerable |
| @tanstack | arktype-adapter | 1.166.15 | Vulnerable |
| @tanstack | eslint-plugin-router | 1.161.9 | Vulnerable |
| @tanstack | eslint-plugin-router | 1.161.12 | Vulnerable |
| @tanstack | eslint-plugin-start | 0.0.4 | Vulnerable |
| @tanstack | eslint-plugin-start | 0.0.7 | Vulnerable |
| @tanstack | history | 1.161.9 | Vulnerable |
| @tanstack | history | 1.161.12 | Vulnerable |
| @tanstack | nitro-v2-vite-plugin | 1.154.12 | Vulnerable |
| @tanstack | nitro-v2-vite-plugin | 1.154.15 | Vulnerable |
| @tanstack | react-router | 1.169.5 | Vulnerable |
| @tanstack | react-router | 1.169.8 | Vulnerable |
Attack characteristics
The CVSS vector, decoded. It describes the attack, not your exposure to it.
Availability
High
Confidentiality
High
Integrity
High
Scope
Changed
Attack Complexity
Low
Attack Vector
Network
Privileges Req
None
User Interaction
Required
Every base score collected
Sources score independently and disagree; each row says who scored it and under which version.
| Score | Version | Severity | Expl. | Impact | Source |
|---|---|---|---|---|---|
| 9.6 | CVSS 3.1 | critical | 2.8 | 6 | GitHub (CNA), @tanstack (CNA) |
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
What this weakness leads to
MITRE's own consequences and mitigations for the weakness class — the authority's wording, not guidance derived from the CVSS vector.
CWE-506 · Embedded Malicious Code
- Execute Unauthorized Code or Commands::
Mitigation: Remove the malicious code and start an effort to ensure that no more malicious code exists. This may require a detailed review of all code, as it is possible to hide a serious attack in only one or two lines of code. These lines may be located almost anywhere in an application and may have been intentionally obfuscated by the attacker.::
Weakness & attack patterns
- CWE-506
Inferred from the weakness class — not observed against this CVE.
- T1195.001Supply Chain Compromise: Compromise Software Dependencies and Development Tools
- T1195.002Supply Chain Compromise: Compromise Software Supply Chain
- T1027.009Obfuscated Files or Information: Embedded Payloads
CISA KEV details
CISA lists a CVE here once it has evidence of exploitation against real targets.
Listed
May 27, 2026
Federal deadline
Jun 10, 2026
passed 100 days ago
Ransomware use
Known
CISA records ransomware use only for campaigns it has confirmed, so “Unknown” means unrecorded, not ruled out. The deadline binds US federal agencies; for everyone else it is a date to argue against.
Public exploit
Capability, not use: code existing is a different claim from anyone running it.
Repositories
44
1 of the 5 sampled are weaponized
Exploit entries
1
Exploit-DB and CTI exploit indexes
Social mentions
Posts naming this CVE. Attention, not evidence of exploitation — it spikes on disclosure and decays whether or not anything is exploited.
CVE-2026-45321: The Perfect Supply Chain Storm — OIDC Token Theft and 84 Malicious npm Packages. On May 11, 2026, attackers exploited a pullrequesttarget misconfiguration in TanStack's GitHub Actions workflow to steal an OIDC token, poison the build cache across CI/CD…
@lyrie_ai· Jun 23, 2026
🛡️ Alerta de Seguridad: TanStack Router – Publicación de Malware de Robo de Credenciales vía npm (CVE-2026-45321) Vulnerabilidad en TanStack permitió publicar versiones maliciosas en npm bajo identidad legítima, distribuyendo malware de robo de credenciales a la cadena de
@CiberPlanetaOrg· Jun 18, 2026
🛡️ CVE-2026-45321: Vulnerabilidad crítica en TanStack permite robo de credenciales mediante paquetes npm maliciosos Análisis técnico del CVE-2026-45321 en TanStack: vulnerabilidad explotada activamente que permite publicar malware en npm bajo identidad confiable.
@CiberPlanetaOrg· Jun 18, 2026
CVE-2026-45321 - TanStack npm supply chain compromise https://t.co/8La8MxjVaW https://t.co/iyODBsbhNK
@SirajD_Official· Jun 16, 2026
CVE-2026-45321 - TanStack npm supply chain compromise https://t.co/c0w6Y2nqSG https://t.co/badgqmvDJ9
@Guru0791· Jun 13, 2026
25 more posts on this CVEShowing 5 of 30 · Who is discussing this CVE, and how loudlyUnlock freeDetection
Read off the CVSS vector and the weakness class. Starting points, not rules we have tested.
- Search application, proxy, and WAF logs for requests touching /*, /router.
- Prioritize edge telemetry for network-reachable arktype-adapter, eslint-plugin-router, eslint-plugin-start, history, nitro-v2-vite-plugin, react-router, react-router-devtools, react-router-ssr-query, react-start, react-start-client, react-start-rsc, react-start-server, router-cli, router-core, router-devtools, router-devtools-core, router-generator, router-plugin, router-ssr-query-core, router-utils, outer-vite-plugin, solid-router, solid-router-devtools, solid-router-ssr-query, solid-start, solid-start-client, solid-start-server, start-client-core, start-fn-stubs, start-plugin-core, start-server-core, start-static-server-functions, start-storage-context, valibot-adapter, virtual-file-routes, vue-router, vue-router-devtools, vue-router-ssr-query, vue-start, vue-start-client, vue-start-server, zod-adapter.
- Monitor for scanner or exploit-pattern traffic after 45 public PoC repositories were reported.
Groups associated with this CVE
Groups reported in connection with this vulnerability. A reported association, not a confirmed observation of that group using it — and not scoped to any sector or campaign.
Timeline
What happened to this CVE, newest first — with the readings a source repeats on a schedule counted underneath rather than listed.
- 2026
Added · CVSS 3.1 9.6 (AV:N)
Jun 17, 2026 · NVD
Added to CISA KEV catalog
May 27, 2026 · CISA
Initial · CVE published
May 12, 2026 · NVD
Source activity
Readings a source repeats on a schedule, counted rather than listed.
- 21×SVRS was changedJun 1, 2026 – Jul 7, 2026 · SOCRadar CTI
- 13×TweetsMay 28, 2026 – Jun 24, 2026 · SOCRadar CTI
- 2×Github ReposJun 21, 2026 – Jun 25, 2026 · SOCRadar CTI
- 2×ModifiedMay 28, 2026 – May 29, 2026 · SOCRadar CTI
References
6 on the record
- github.com/TanStack/router/issues/7383
Issue Tracking, Mitre, NIST
- github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx
Mitigation, Vendor Advisory, Mitre, NIST
- tanstack.com/blog/npm-supply-chain-compromise-postmortem
Exploit, Vendor Advisory, Mitre, NIST
- www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystem
Exploit, Third Party Advisory, Mitre, NIST
- www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-45321
US Government Resource, NIST
- nvd.nist.gov/vuln/detail/CVE-2026-45321
Vendor Advisory
Coverage
14 stories from the feeds we poll
CVE-2026-45321
vuldb.com · Aug 4, 2026
May 2026 CVE Landscape
recordedfuture.com · Jun 8, 2026
CISA Adds Three Known Exploited Vulnerabilities to Catalog
cisa.gov · May 27, 2026
FBI: TeamPCP Compromised Dev Tools to Steal Cloud Credentials - Security Affairs
securityaffairs.com · Jul 4, 2026
FBI: TeamPCP Compromised Dev Tools to Steal Cloud Credentials - Security Affairs
securityaffairs.com · Jul 4, 2026
9 more reports on this CVEShowing 5 of 14 · Vendor research and security press coverageUnlock freeElsewhere on this site
- @tanstackevery CVE for this vendor
- May 2026what else CISA listed
- Unclassifiedsame class
- CWE-506other pages naming this weakness
Not in any source we poll
Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.
- No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
- No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
- No exploit packet captures, log samples, or incident case IDs supplied.
Answered from this record1
What should defenders know first?
CVE-2026-45321 is Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys, a critical vulnerability affecting arktype-adapter, eslint-plugin-router, eslint-plugin-start, history, nitro-v2-vite-plugin, react-router, react-router-devtools, react-router-ssr-query, react-start, react-start-client, react-start-rsc, react-start-server, router-cli, router-core, router-devtools, router-devtools-core, router-generator, router-plugin, router-ssr-query-core, router-utils, outer-vite-plugin, solid-router, solid-router-devtools, solid-router-ssr-query, solid-start, solid-start-client, solid-start-server, start-client-core, start-fn-stubs, start-plugin-core, start-server-core, start-static-server-functions, start-storage-context, valibot-adapter, virtual-file-routes, vue-router, vue-router-devtools, vue-router-ssr-query, vue-start, vue-start-client, vue-start-server, zod-adapter from @tanstack. The current evidence lists it in CISA KEV, and the exploit status is: Yes: CISA KEV signal present. Public exploit evidence is: 45 public PoC repositories reported; 1 marked weaponized in current dataset. The affected-version evidence is listed in the key facts and affected products tables. Defenders should first verify whether exposed or business-critical assets run those versions, then apply vendor patches or mitigations, restrict reachable attack surface, and preserve logs for detection review. CVSS 9.6 describes technical severity, while EPSS 2% helps estimate near-term exploit likelihood; neither replaces asset context. Unknown fields should remain explicit in tickets, and threat actor, IOC, victimology, or payload claims should not be added unless a cited source supports them. Monitor CISA KEV, vendor advisories, NVD changes, public PoC repositories, and internal telemetry for update triggers.