CVE-2026-45321
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.
How to fix
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
CISA due date: Jun 10, 2026Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| tanstack tanstack\/arktype-adapter | 1.166.12, 1.166.15 | — |
| tanstack tanstack\/eslint-plugin-router | 1.161.9, 1.161.12 | — |
| tanstack tanstack\/eslint-plugin-start | 0.0.4, 0.0.7 | — |
| tanstack tanstack\/history | 1.161.9, 1.161.12 | — |
| tanstack tanstack\/nitro-v2-vite-plugin | 1.154.12, 1.154.15 | — |
| tanstack tanstack\/react-router | 1.169.5, 1.169.8 | — |
| tanstack tanstack\/react-router-devtools | 1.166.16, 1.166.19 | — |
| tanstack tanstack\/react-router-ssr-query | 1.166.15, 1.166.18 | — |
| tanstack tanstack\/react-start | 1.167.68, 1.167.71 | — |
| tanstack tanstack\/react-start-client | 1.166.51, 1.166.54 | — |
| tanstack tanstack\/react-start-rsc | 0.0.47, 0.0.50 | — |
| tanstack tanstack\/react-start-server | 1.166.55, 1.166.58 | — |
| tanstack tanstack\/router-cli | 1.166.46, 1.166.49 | — |
| tanstack tanstack\/router-core | 1.169.5, 1.169.8 | — |
| tanstack tanstack\/router-devtools | 1.166.16, 1.166.19 | — |
| tanstack tanstack\/router-devtools-core | 1.167.6, 1.167.9 | — |
| tanstack tanstack\/router-generator | 1.166.45, 1.166.48 | — |
| tanstack tanstack\/router-plugin | 1.167.38, 1.167.41 | — |
| tanstack tanstack\/router-ssr-query-core | 1.168.3, 1.168.6 | — |
| tanstack tanstack\/router-utils | 1.161.11, 1.161.14 | — |
| tanstack tanstack\/router-vite-plugin | 1.166.53, 1.166.56 | — |
| tanstack tanstack\/solid-router | 1.169.5, 1.169.8 | — |
| tanstack tanstack\/solid-router-devtools | 1.166.16, 1.166.19 | — |
| tanstack tanstack\/solid-router-ssr-query | 1.166.15, 1.166.18 | — |
| tanstack tanstack\/solid-start | 1.167.65, 1.167.68 | — |
| tanstack tanstack\/solid-start-client | 1.166.50, 1.166.53 | — |
| tanstack tanstack\/solid-start-server | 1.166.54, 1.166.57 | — |
| tanstack tanstack\/start-client-core | 1.168.5, 1.168.8 | — |
| tanstack tanstack\/start-fn-stubs | 1.161.9, 1.161.12 | — |
| tanstack tanstack\/start-plugin-core | 1.169.23, 1.169.26 | — |
| tanstack tanstack\/start-server-core | 1.167.33, 1.167.36 | — |
| tanstack tanstack\/start-static-server-functions | 1.166.44, 1.166.47 | — |
| tanstack tanstack\/start-storage-context | 1.166.38, 1.166.41 | — |
| tanstack tanstack\/valibot-adapter | 1.166.12, 1.166.15 | — |
| tanstack tanstack\/virtual-file-routes | 1.161.10, 1.161.13 | — |
| tanstack tanstack\/vue-router | 1.169.5, 1.169.8 | — |
| tanstack tanstack\/vue-router-devtools | 1.166.16, 1.166.19 | — |
| tanstack tanstack\/vue-router-ssr-query | 1.166.15, 1.166.18 | — |
| tanstack tanstack\/vue-start | 1.167.61, 1.167.64 | — |
| tanstack tanstack\/vue-start-client | 1.166.46, 1.166.49 | — |
| tanstack tanstack\/vue-start-server | 1.166.50, 1.166.53 | — |
| tanstack tanstack\/zod-adapter | 1.166.12, 1.166.15 | — |
| mistral mistralai | 2.4.6 | — |
| mistral mistralai\/mistralai | 2.2.3, 2.2.4 | — |
| mistral mistralai\/mistralai-azure | 1.7.2, 1.7.3 | — |
| mistral mistralai\/mistralai-gcp | 1.7.2, 1.7.3 | — |
| antoinebcx ml-toolkit-ts | 1.0.4, 1.0.5 | — |
| antoinebcx ml-toolkit-ts\/preprocessing | 1.0.2, 1.0.3 | — |
| antoinebcx ml-toolkit-ts\/xgboost | 1.0.3, 1.0.4 | — |
| beproduct beproduct\/nestjs-auth | 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.10, 0.1.11, 0.1.12, 0.1.13, 0.1.14, 0.1.15, 0.1.16, 0.1.17, 0.1.19 | — |
| christianalares git-git-git | 1.0.8, 1.0.9, 1.0.10, 1.0.12 | — |
| christianalares git_branch_selector | 1.3.3, 1.3.4, 1.3.5, 1.3.7 | — |
| christianalares nextmove-mcp | 0.1.3, 0.1.4, 0.1.5, 0.1.7 | — |
| christianalares tolka\/cli | 1.0.2, 1.0.3, 1.0.4, 1.0.6 | — |
| multiagentcognition cmux-agent-mcp | 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8 | — |
| abhishake1 supersurkhet\/cli | 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7 | — |
| abhishake1 supersurkhet\/sdk | 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7 | — |
| abhishake1 taskflow-corp\/cli | 0.1.24, 0.1.25, 0.1.26, 0.1.27, 0.1.28, 0.1.29 | — |
| kilbot tallyui\/components | 1.0.1, 1.0.2, 1.0.3 | — |
| kilbot tallyui\/connector-medusa | 1.0.1, 1.0.2, 1.0.3 | — |
| kilbot tallyui\/connector-shopify | 1.0.1, 1.0.2, 1.0.3 | — |
| kilbot tallyui\/connector-vendure | 1.0.1, 1.0.2, 1.0.3 | — |
| kilbot tallyui\/connector-woocommerce | 1.0.1, 1.0.2, 1.0.3 | — |
| kilbot tallyui\/core | 0.2.1, 0.2.2, 0.2.3 | — |
| kilbot tallyui\/database | 1.0.1, 1.0.2, 1.0.3 | — |
| kilbot tallyui\/pos | 0.1.1, 0.1.2, 0.1.3 | — |
| kilbot tallyui\/storage-sqlite | 0.2.1, 0.2.2, 0.2.3 | — |
| kilbot tallyui\/theme | 0.2.1, 0.2.2, 0.2.3 | — |
| matheuspergoli draftauth\/client | 0.2.1, 0.2.2 | — |
| matheuspergoli draftauth\/core | 0.13.1, 0.13.2 | — |
| matheuspergoli draftlab\/auth | 0.24.1, 0.24.2 | — |
| matheuspergoli draftlab\/auth-router | 0.5.1, 0.5.2 | — |
| matheuspergoli draftlab\/db | 0.16.1, 0.16.2 | — |
| matheuspergoli simple_type-safe_actions | 0.8.3, 0.8.4 | — |
| neilcochran cross-stitch | 1.1.3, 1.1.4, 1.1.6 | — |
| neilcochran squawk\/airports | 0.6.2 | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.