Live › vulnerability › CVE-2026-45321
Go to dashboardTanStack packages were compromised so that malicious versions were published to the npm registry under a trusted identity. Installing those versions lets an attacker steal credentials from the machine or CI system that runs them.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-23 19:11 UTC, 5h before NVD. All times on this page are UTC.
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
| Product | Ecosystem | Affected | Fixed in |
|---|---|---|---|
| TanStack TanStack | vendor | – | – |
| tanstack tanstack\/arktype-adapter | vendor | = 1.166.12 | – |
| tanstack tanstack\/arktype-adapter | vendor | = 1.166.15 | – |
| tanstack tanstack\/eslint-plugin-router | vendor | = 1.161.9 | – |
| tanstack tanstack\/eslint-plugin-router | vendor | = 1.161.12 | – |
| tanstack tanstack\/eslint-plugin-start |
| vendor |
| = 0.0.4 |
| – |
| tanstack tanstack\/eslint-plugin-start | vendor | = 0.0.7 | – |
| tanstack tanstack\/history | vendor | = 1.161.9 | – |
| tanstack tanstack\/history | vendor | = 1.161.12 | – |
| tanstack tanstack\/nitro-v2-vite-plugin | vendor | = 1.154.12 | – |
| tanstack tanstack\/nitro-v2-vite-plugin | vendor | = 1.154.15 | – |
| tanstack tanstack\/react-router | vendor | = 1.169.5 | – |
| tanstack tanstack\/react-router | vendor | = 1.169.8 | – |
| tanstack tanstack\/react-router-devtools | vendor | = 1.166.16 | – |
| tanstack tanstack\/react-router-devtools | vendor | = 1.166.19 | – |
| tanstack tanstack\/react-router-ssr-query | vendor | = 1.166.15 | – |
| tanstack tanstack\/react-router-ssr-query | vendor | = 1.166.18 | – |
| tanstack tanstack\/react-start | vendor | = 1.167.68 | – |
| tanstack tanstack\/react-start | vendor | = 1.167.71 | – |
| tanstack tanstack\/react-start-client | vendor | = 1.166.51 | – |
| tanstack tanstack\/react-start-client | vendor | = 1.166.54 | – |
| tanstack tanstack\/react-start-rsc | vendor | = 0.0.47 | – |
| tanstack tanstack\/react-start-rsc | vendor | = 0.0.50 | – |
| tanstack tanstack\/react-start-server | vendor | = 1.166.55 | – |
| tanstack tanstack\/react-start-server | vendor | = 1.166.58 | – |
| tanstack tanstack\/router-cli | vendor | = 1.166.46 | – |
| tanstack tanstack\/router-cli | vendor | = 1.166.49 | – |
| tanstack tanstack\/router-core | vendor | = 1.169.5 | – |
| tanstack tanstack\/router-core | vendor | = 1.169.8 | – |
| tanstack tanstack\/router-devtools | vendor | = 1.166.16 | – |
| tanstack tanstack\/router-devtools | vendor | = 1.166.19 | – |
| tanstack tanstack\/router-devtools-core | vendor | = 1.167.6 | – |
| tanstack tanstack\/router-devtools-core | vendor | = 1.167.9 | – |
| tanstack tanstack\/router-generator | vendor | = 1.166.45 | – |
| tanstack tanstack\/router-generator | vendor | = 1.166.48 | – |
| tanstack tanstack\/router-plugin | vendor | = 1.167.38 | – |
| tanstack tanstack\/router-plugin | vendor | = 1.167.41 | – |
| tanstack tanstack\/router-ssr-query-core | vendor | = 1.168.3 | – |
| tanstack tanstack\/router-ssr-query-core | vendor | = 1.168.6 | – |
| tanstack tanstack\/router-utils | vendor | = 1.161.11 | – |
| tanstack tanstack\/router-utils | vendor | = 1.161.14 | – |
npm ls to list installed TanStack packages and compare versions against the advisory list of malicious releases (source not specified in the sources)Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
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.
This page as .md · .json · in your agent: get_signal("CVE-2026-45321")
CISA KEV catalog, Creative Commons 0 · NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.