CVE-2026-45321
TanStack Unspecified Vulnerability
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.
Description as published by the source, in English.
Key facts
- Published
- 2026-05-12
- Last modified
- 2026-06-17
- Assigned by
- security-advisories@github.com
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H- Scored by
- security-advisories@github.com
- Probability of exploitation
-
2.3 %
higher than 82 %
of all known vulnerabilities
EPSS, next 30 days, model v2026.06.15 - Fix available
- Not registered in the sources
Actively exploited
CISA added this vulnerability to the Known Exploited Vulnerabilities catalogue on 2026-05-27, with a remediation deadline of 2026-06-10 for US federal agencies.
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.
Affected products
| Vendor | Product | Versions | Status |
|---|---|---|---|
| Abhishake1 | Supersurkhet/cli | 0.0.2 | Affected |
| Abhishake1 | Supersurkhet/cli | 0.0.3 | Affected |
| Abhishake1 | Supersurkhet/cli | 0.0.4 | Affected |
| Abhishake1 | Supersurkhet/cli | 0.0.5 | Affected |
| Abhishake1 | Supersurkhet/cli | 0.0.6 | Affected |
| Abhishake1 | Supersurkhet/cli | 0.0.7 | Affected |
| Abhishake1 | Supersurkhet/sdk | 0.0.2 | Affected |
| Abhishake1 | Supersurkhet/sdk | 0.0.3 | Affected |
| Abhishake1 | Supersurkhet/sdk | 0.0.4 | Affected |
| Abhishake1 | Supersurkhet/sdk | 0.0.5 | Affected |
| Abhishake1 | Supersurkhet/sdk | 0.0.6 | Affected |
| Abhishake1 | Supersurkhet/sdk | 0.0.7 | Affected |
| Abhishake1 | Taskflow-corp/cli | 0.1.24 | Affected |
| Abhishake1 | Taskflow-corp/cli | 0.1.25 | Affected |
| Abhishake1 | Taskflow-corp/cli | 0.1.26 | Affected |
| Abhishake1 | Taskflow-corp/cli | 0.1.27 | Affected |
| Abhishake1 | Taskflow-corp/cli | 0.1.28 | Affected |
| Abhishake1 | Taskflow-corp/cli | 0.1.29 | Affected |
| Agentworkhq | Agentwork-cli | 0.1.4 | Affected |
| Agentworkhq | Agentwork-cli | 0.1.5 | Affected |
| Antoinebcx | Ml-toolkit-ts | 1.0.4 | Affected |
| Antoinebcx | Ml-toolkit-ts | 1.0.5 | Affected |
| Antoinebcx | Ml-toolkit-ts/preprocessing | 1.0.2 | Affected |
| Antoinebcx | Ml-toolkit-ts/preprocessing | 1.0.3 | Affected |
| Antoinebcx | Ml-toolkit-ts/xgboost | 1.0.3 | Affected |
| Antoinebcx | Ml-toolkit-ts/xgboost | 1.0.4 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.10 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.11 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.12 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.13 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.14 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.15 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.16 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.17 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.19 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.2 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.3 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.4 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.5 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.6 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.7 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.8 | Affected |
| Beproduct | Beproduct/nestjs-auth | 0.1.9 | Affected |
| Christianalares | Git Branch Selector | 1.3.3 | Affected |
| Christianalares | Git Branch Selector | 1.3.4 | Affected |
| Christianalares | Git Branch Selector | 1.3.5 | Affected |
| Christianalares | Git Branch Selector | 1.3.7 | Affected |
| Christianalares | Git-git-git | 1.0.10 | Affected |
| Christianalares | Git-git-git | 1.0.12 | Affected |
| Christianalares | Git-git-git | 1.0.8 | Affected |
| Christianalares | Git-git-git | 1.0.9 | Affected |
| Christianalares | Nextmove-mcp | 0.1.3 | Affected |
| Christianalares | Nextmove-mcp | 0.1.4 | Affected |
| Christianalares | Nextmove-mcp | 0.1.5 | Affected |
| Christianalares | Nextmove-mcp | 0.1.7 | Affected |
| Christianalares | Tolka/cli | 1.0.2 | Affected |
| Christianalares | Tolka/cli | 1.0.3 | Affected |
| Christianalares | Tolka/cli | 1.0.4 | Affected |
| Christianalares | Tolka/cli | 1.0.6 | Affected |
| Dirigible | Dirigible-ai/sdk | 0.6.2 | Affected |
Weakness type
-
CWE-506: Embedded Malicious Code
The product contains code that appears to be malicious in nature.
Attack techniques
Derived through the weakness type: CVE to CWE to CAPEC to ATT&CK. This shows which techniques the weakness class is historically used for. It does not assert that this vulnerability has been exploited that way.
- T1001.002: Steganography
- T1027.003: Steganography
- T1027.004: Compile After Delivery
- T1027.009: Embedded Payloads
- T1195.001: Compromise Software Dependencies and Development Tools
- T1195.002: Compromise Software Supply Chain
- T1218.001: Compiled HTML File
- T1221: Template Injection
References
- https://github.com/TanStack/router/issues/7383
- https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx
- https://tanstack.com/blog/npm-supply-chain-compromise-postmortem
- https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-at…
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-45321
Does this affect you?
A vulnerability matters only if you run the product, in an affected version, somewhere an attacker can reach.