CVE-2026-45321

CRITICAL

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

Title source: cna
STIX 2.1

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.

Exploits (9)

github SCANNER
by nkopylov · shellpoc
https://github.com/nkopylov/tanscript-exploit-check
nomisec SCANNER
by digi4care · poc
https://github.com/digi4care/shai-scan
nomisec SCANNER
by fabriziosalmi · poc
https://github.com/fabriziosalmi/tanstack-compromise-checker
nomisec SCANNER
by Intrudify · poc
https://github.com/Intrudify/mini-shai-hulud-scanner
nomisec SCANNER
by Yomisana · poc
https://github.com/Yomisana/are-you-get-tanstack-attack
nomisec SCANNER
by shayr1 · poc
https://github.com/shayr1/shai-hulud-scan
nomisec SCANNER
by qi-scape · poc
https://github.com/qi-scape/scan-shai-hulud
nomisec SCANNER
by Caixa-git · poc
https://github.com/Caixa-git/tanstack-shield
nomisec SCANNER
by ry-allan · poc
https://github.com/ry-allan/tanstack-compromise-checker

Scores

CVSS v3 9.6
EPSS 0.0004
EPSS Percentile 11.9%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

CISA SSVC

Vulnrichment
Exploitation none
Automatable no
Technical Impact total

Details

CWE
CWE-506
Status published
Products (50)
@tanstack/arktype-adapter 1.166.12
@tanstack/arktype-adapter 1.166.15
@tanstack/eslint-plugin-router 1.161.12
@tanstack/eslint-plugin-router 1.161.9
@tanstack/eslint-plugin-start 0.0.4
@tanstack/eslint-plugin-start 0.0.7
@tanstack/history 1.161.12
@tanstack/history 1.161.9
@tanstack/nitro-v2-vite-plugin 1.154.12
@tanstack/nitro-v2-vite-plugin 1.154.15
... and 40 more
Published May 12, 2026
Tracked Since May 12, 2026