Vulnerability record · CVE-2026-45321 · published 12 May 2026
CVE-2026-45321: TanStack npm packages published with credential-stealing malware via CI/CD chain
Tanstack · Tanstack\/Arktype Adapter
Eighty-four malicious versions across 42 @tanstack/* npm packages were published on 2026-05-11 using the legitimate GitHub Actions OIDC trusted-publisher binding for TanStack/router, without modifying the publish workflow. The attacker chained a pull_request_target misconfiguration, GitHub Actions cache poisoning across the fork-to-base trust boundary, and runtime extraction of the OIDC token from the runner process. Because the packages were published under a trusted identity, downstream installs would pull credential-stealing malware.
Description
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:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Automated analysis
critical priorityCVSS 9.6, active KEV listing with ransomware use, and a confirmed supply-chain compromise of widely used packages make this an urgent patching and credential-rotation case.
What it is
Eighty-four malicious versions across 42 @tanstack/* npm packages were published on 2026-05-11 using the legitimate GitHub Actions OIDC trusted-publisher binding for TanStack/router, without modifying the publish workflow. The attacker chained a pull_request_target misconfiguration, GitHub Actions cache poisoning across the fork-to-base trust boundary, and runtime extraction of the OIDC token from the runner process. Because the packages were published under a trusted identity, downstream installs would pull credential-stealing malware.
Impact
Anyone installing an affected package version receives credential-stealing malware, giving the attacker access to secrets and credentials in the installer's environment. The trusted publish path also undermines normal supply-chain trust signals.
Attack surface
Reached through the npm registry: victims install a malicious package version, so exploitation requires the victim to pull the affected release (UI:R in the vector). The attacker side required no authentication to the npm registry, abusing the CI/CD trusted-publisher binding instead.
Exploitation
CISA added this to KEV on 2026-05-27 with a 2026-06-10 due date and flags known ransomware campaign use; EPSS is 0.02342 (82.8th percentile). References are tagged Exploit and Vendor Advisory, indicating public exploitation detail exists.
What to do
- Remove or pin away from the 84 malicious @tanstack/* versions and reinstall from known-good releases.
- Rotate any credentials, tokens, or secrets exposed to environments where affected versions were installed.
- Audit GitHub Actions workflows for pull_request_target misconfigurations and restrict cache scope across fork/base boundaries.
- Harden OIDC trusted-publisher bindings and monitor npm publish events for unexpected versions.
- Follow CISA KEV required actions and BOD 22-01 guidance for affected cloud services.
Detection
- Search lockfiles and build logs for the 42 affected @tanstack/* packages and the two malicious versions per package published 2026-05-11 19:20-19:26 UTC.
- Monitor npm registry and CI publish logs for unexpected version publishes under trusted-publisher identities.
- Hunt for outbound credential exfiltration or unusual process memory access on GitHub Actions runners.
- Review GitHub Actions cache writes crossing fork-to-base boundaries for poisoning attempts.
This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.
Exploitation in the wild
CISA added CVE-2026-45321 to the Known Exploited Vulnerabilities catalog on 27 May 2026 as "TanStack Unspecified Vulnerability". CISA reports known use in ransomware campaigns. 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 10 June 2026.
Affected products
150 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
| Link | Tags |
|---|---|
| https://github.com/TanStack/router/issues/7383 | Issue Tracking |
| https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx | MitigationVendor Advisory |
| https://tanstack.com/blog/npm-supply-chain-compromise-postmortem | ExploitVendor Advisory |
| https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystem | ExploitThird Party Advisory |
| https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-45321 | US Government Resource |
Track CVE-2026-45321 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2026-45321), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.