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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
@tanstack arktype-adapter
1.166.12affected1.166.15affected
@tanstack eslint-plugin-router
1.161.9affected1.161.12affected
@tanstack eslint-plugin-start
0.0.4affected0.0.7affected
@tanstack history
1.161.9affected1.161.12affected
@tanstack nitro-v2-vite-plugin
1.154.12affected1.154.15affected
@tanstack react-router
1.169.5affected1.169.8affected
@tanstack react-router-devtools
1.166.16affected1.166.19affected
@tanstack react-router-ssr-query
1.166.15affected1.166.18affected
@tanstack react-start
1.167.68affected1.167.71affected
@tanstack react-start-client
1.166.51affected1.166.54affected
@tanstack react-start-rsc
0.0.47affected0.0.50affected
@tanstack react-start-server
1.166.55affected1.166.58affected
@tanstack router-cli
1.166.46affected1.166.49affected
@tanstack router-core
1.169.5affected1.169.8affected
@tanstack router-devtools
1.166.16affected1.166.19affected
@tanstack router-devtools-core
1.167.6affected1.167.9affected
@tanstack router-generator
1.166.45affected1.166.48affected
@tanstack router-plugin
1.167.38affected1.167.41affected
@tanstack router-ssr-query-core
1.168.3affected1.168.6affected
@tanstack router-utils
1.161.11affected1.161.14affected
@tanstack outer-vite-plugin
1.166.53affected1.166.56affected
@tanstack solid-router
1.169.5affected1.169.8affected
@tanstack solid-router-devtools
1.166.16affected1.166.19affected
@tanstack solid-router-ssr-query
1.166.15affected1.166.18affected
@tanstack solid-start
1.167.65affected1.167.68affected
@tanstack solid-start-client
1.166.50affected1.166.53affected
@tanstack solid-start-server
1.166.54affected1.166.57affected
@tanstack start-client-core
1.168.5affected1.168.8affected
@tanstack start-fn-stubs
1.161.9affected1.161.12affected
@tanstack start-plugin-core
1.169.23affected1.169.26affected
@tanstack start-server-core
1.167.33affected1.167.36affected
@tanstack start-static-server-functions
1.166.44affected1.166.47affected
@tanstack start-storage-context
1.166.38affected1.166.41affected
@tanstack valibot-adapter
1.166.12affected1.166.15affected
@tanstack virtual-file-routes
1.161.10affected1.161.13affected
@tanstack vue-router
1.169.5affected1.169.8affected
@tanstack vue-router-devtools
1.166.16affected1.166.19affected
@tanstack vue-router-ssr-query
1.166.15affected1.166.18affected
@tanstack vue-start
1.167.61affected1.167.64affected
@tanstack vue-start-client
1.166.46affected1.166.49affected
@tanstack vue-start-server
1.166.50affected1.166.53affected
@tanstack zod-adapter
1.166.12affected1.166.15affected
References
- https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx ↗
- https://github.com/TanStack/router/issues/7383 ↗
- https://tanstack.com/blog/npm-supply-chain-compromise-postmortem ↗
- https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystem ↗
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-45321 ↗