CVE-2026-45321: TanStack Unspecified Vulnerability

Published May 12, 2026
·
Updated

Summary

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 pullrequesttarget "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.

Impact

A user installing any affected version executes a payload (~2.3 MB obfuscated routerinit.js) at install time that:

- Harvests credentials from common locations: - AWS instance metadata (IMDS) and Secrets Manager - GCP metadata service - Kubernetes service-account tokens - HashiCorp Vault tokens - ~/.npmrc (npm tokens) - GitHub tokens (env vars, gh CLI config, .git-credentials) - SSH private keys (~/.ssh/) - Exfiltrates harvested data over the Session/Oxen messenger file-upload network (filev2.getsession.org, seed{1,2,3}.getsession.org). This is end-to-end encrypted with no attacker-controlled C2, so blocking by IP or domain is the only network mitigation. - Enumerates packages that the victim maintains via registry.npmjs.org/-/v1/search?text=maintainer:<user> and republishes them with the same injection, propagating the compromise across npm.

Any developer or CI environment that ran npm install, pnpm install, or yarn install against an affected version on 2026-05-11 should be considered compromised. All credentials accessible to the install process should be rotated immediately. Cloud audit logs should be reviewed for activity originating from the affected hosts during and after the install window.

Detection

Inspect the published manifest of any pinned @tanstack/ version. Malicious manifests contain this exact optionalDependencies entry:

json "optionalDependencies": { "@tanstack/setup": "github:tanstack/router#79ac49eedf774dd4b0cfa308722bc463cfe5885c" }

To check a version without running install scripts:

bash npm pack @tanstack/<name>@<version> # downloads tarball; does NOT execute lifecycle scripts tar -xzf .tgz grep -A3 optionalDependencies package/package.json ls -la package/routerinit.js # malicious payload, ~2.3 MB, present at package root

The payload file routerinit.js is approximately 2.3 MB of obfuscated JavaScript. It is placed at the tarball root and is intentionally not declared in the package's "files" array, so it does not appear in the package's documented contents.

Mechanism

@tanstack/setup is not a real package on the npm registry. The github:tanstack/router#79ac49ee... specifier resolves to an orphan commit pushed to a fork in the tanstack/router GitHub fork network. GitHub serves commits across the entire fork network for git-URL dependencies, so the attacker did not require write access to TanStack/router itself — only the ability to fork and push to their own fork.

When npm processes the optional dependency, it:

1. Fetches the orphan commit from the fork network. 2. Installs the commit's declared dependencies (which include a real bun binary). 3. Runs the commit's prepare lifecycle script: bun run tanstackrunner.js && exit 1. The trailing exit 1 causes the optional install to fail, after which npm silently discards it — leaving no nodemodules trace. 4. The tanstackrunner.js script in turn executes routerinit.js from the host package's tarball.

Patches

Affected versions are being deprecated on npm with a SECURITY: notice. Where npm policy allows (no existing third-party dependents), affected versions are also being unpublished. The npm security team has been engaged to pull tarballs server-side for versions that cannot be unpublished.

Clean follow-up releases are being prepared. Update to the patched version listed in the affected-products table for each package, then reinstall from a clean lockfile.

Workarounds

Until clean follow-up releases are available:

- Pin every @tanstack/ dependency to a known-good version published before 2026-05-11 19:00 UTC. The last known-good version for most affected packages was published on 2026-03-15. - Delete nodemodules and the lockfile, then reinstall to ensure no transitive dependency resolves to a malicious version. - Configure npm to skip lifecycle scripts on install (npm config set ignore-scripts true) as a temporary defense-in-depth measure. - For CI, audit any pipeline that ran install against @tanstack/ between 19:20 and 19:30 UTC on 2026-05-11. Treat the runner as compromised and rotate any secrets it had access to.

Indicators of compromise

| Indicator | Value | |---|---| | Malicious git ref | github:tanstack/router#79ac49eedf774dd4b0cfa308722bc463cfe5885c | | Fictitious package name | @tanstack/setup | | Payload filename | routerinit.js (~2.3 MB, package root, undeclared in files) | | Helper filename in orphan commit | tanstackrunner.js | | Exfiltration network | filev2.getsession.org, seed1.getsession.org, seed2.getsession.org, seed3.getsession.org | | Second-stage payload URLs | https://litter.catbox.moe/h8nc9u.js, https://litter.catbox.moe/7rrc6l.mjs | | Poisoned cache key | Linux-pnpm-store-6f9233a50def742c09fde54f56553d6b449a535adf87d4083690539f49ae4da11 | | Publish window (UTC) | 2026-05-11 19:20 — 19:26 | | Publish mechanism | GitHub Actions OIDC trusted publisher (oidc:db7d6f54-05d5-412b-8a10-e7a8398b303e) | | Workflow runs | https://github.com/TanStack/router/actions/runs/25613093674 (attempt 4), https://github.com/TanStack/router/actions/runs/25691781302 | | Attacker GitHub accounts | zblgg (id 127806521), voicproducoes (id 269549300) | | Attacker fork (renamed to evade detection) | https://github.com/zblgg/configuration |

Credits

- The security researcher who initially disclosed the vulnerability publicly with detailed analysis at https://github.com/TanStack/router/issues/7383

References

- Public incident tracking issue: https://github.com/TanStack/router/issues/7383 - Related research: - Adnan Khan, "The Monsters in Your Build Cache: GitHub Actions Cache Poisoning" (May 2024) - GitHub Security Lab, "Keeping your GitHub Actions and workflows secure: Preventing Pwn Requests" - StepSecurity, "tj-actions/changed-files action is compromised" (March 2025) — the malicious payload reuses this incident's runner-memory extraction technique verbatim

Other sources

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 pullrequesttarget "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.

NVD

TanStack contains an unspecified vulnerability that allowed malicious versions of the product to be published to the npm registry to publish credential-stealing malware under a trusted identity.

CISA

Affected Software

428 affected componentsFixes available
npm/@tanstack/zod-adapter=1.166.15
1.166.16
npm/@tanstack/vue-start-server=1.166.53
1.166.54
npm/@tanstack/vue-start-client=1.166.49
1.166.50
npm/@tanstack/vue-start=1.167.64
1.167.65
npm/@tanstack/vue-router-ssr-query=1.166.18
1.166.19
npm/@tanstack/vue-router-devtools=1.166.19
1.166.20
npm/@tanstack/vue-router=1.169.8
1.169.9
npm/@tanstack/virtual-file-routes=1.161.13
1.161.14
npm/@tanstack/valibot-adapter=1.166.15
1.166.16
npm/@tanstack/start-storage-context=1.166.41
1.166.42
npm/@tanstack/start-static-server-functions=1.166.47
1.166.48
npm/@tanstack/start-server-core=1.167.36
1.167.37
npm/@tanstack/start-plugin-core=1.169.26
1.169.27
npm/@tanstack/start-fn-stubs=1.161.12
1.161.13
npm/@tanstack/start-client-core=1.168.8
1.168.9
npm/@tanstack/solid-start-server=1.166.57
1.166.58
npm/@tanstack/solid-start-client=1.166.53
1.166.54
npm/@tanstack/solid-start=1.167.68
1.167.69
npm/@tanstack/solid-router-ssr-query=1.166.18
1.166.19
npm/@tanstack/solid-router-devtools=1.166.19
1.166.20
npm/@tanstack/solid-router=1.169.8
1.169.9
npm/@tanstack/router-vite-plugin=1.166.56
1.166.57
npm/@tanstack/router-utils=1.161.14
1.161.15
npm/@tanstack/router-ssr-query-core=1.168.6
1.168.7
npm/@tanstack/router-plugin=1.167.41
1.167.42
npm/@tanstack/router-generator=1.166.48
1.166.49
npm/@tanstack/router-devtools-core=1.167.9
1.167.10
npm/@tanstack/router-devtools=1.166.19
1.166.20
npm/@tanstack/router-core=1.169.8
1.169.9
npm/@tanstack/router-cli=1.166.49
1.166.50
npm/@tanstack/react-start-server=1.166.58
1.166.59
npm/@tanstack/react-start-rsc=0.0.50
0.0.51
npm/@tanstack/react-start-client=1.166.54
1.166.55
npm/@tanstack/react-start=1.167.71
1.167.72
npm/@tanstack/react-router-ssr-query=1.166.18
1.166.19
npm/@tanstack/react-router-devtools=1.166.19
1.166.20
npm/@tanstack/react-router=1.169.8
1.169.9
npm/@tanstack/nitro-v2-vite-plugin=1.154.15
1.154.16
npm/@tanstack/history=1.161.12
1.161.13
npm/@tanstack/eslint-plugin-start=0.0.7
0.0.8
npm/@tanstack/eslint-plugin-router=1.161.12
1.161.13
npm/@tanstack/arktype-adapter=1.166.15
1.166.16
npm/@tanstack/zod-adapter=1.166.12
1.166.16
npm/@tanstack/vue-start-server=1.166.50
1.166.54
npm/@tanstack/vue-start-client=1.166.46
1.166.50
npm/@tanstack/vue-start=1.167.61
1.167.65
npm/@tanstack/vue-router-ssr-query=1.166.15
1.166.19
npm/@tanstack/vue-router-devtools=1.166.16
1.166.20
npm/@tanstack/vue-router=1.169.5
1.169.9
npm/@tanstack/virtual-file-routes=1.161.10
1.161.14
npm/@tanstack/valibot-adapter=1.166.12
1.166.16
npm/@tanstack/start-storage-context=1.166.38
1.166.42
npm/@tanstack/start-static-server-functions=1.166.44
1.166.48
npm/@tanstack/start-server-core=1.167.33
1.167.37
npm/@tanstack/start-plugin-core=1.169.23
1.169.27
npm/@tanstack/start-fn-stubs=1.161.9
1.161.13
npm/@tanstack/start-client-core=1.168.5
1.168.9
npm/@tanstack/solid-start-server=1.166.54
1.166.58
npm/@tanstack/solid-start-client=1.166.50
1.166.54
npm/@tanstack/solid-start=1.167.65
1.167.69
npm/@tanstack/solid-router-ssr-query=1.166.15
1.166.19
npm/@tanstack/solid-router-devtools=1.166.16
1.166.20
npm/@tanstack/solid-router=1.169.5
1.169.9
npm/@tanstack/router-vite-plugin=1.166.53
1.166.57
npm/@tanstack/router-utils=1.161.11
1.161.15
npm/@tanstack/router-ssr-query-core=1.168.3
1.168.7
npm/@tanstack/router-plugin=1.167.38
1.167.42
npm/@tanstack/router-generator=1.166.45
1.166.49
npm/@tanstack/router-devtools-core=1.167.6
1.167.10
npm/@tanstack/router-devtools=1.166.16
1.166.20
npm/@tanstack/router-core=1.169.5
1.169.9
npm/@tanstack/router-cli=1.166.46
1.166.50
npm/@tanstack/react-start-server=1.166.55
1.166.59
npm/@tanstack/react-start-rsc=0.0.47
0.0.51
npm/@tanstack/react-start-client=1.166.51
1.166.55
npm/@tanstack/react-start=1.167.68
1.167.72
npm/@tanstack/react-router-ssr-query=1.166.15
1.166.19
npm/@tanstack/react-router-devtools=1.166.16
1.166.20
npm/@tanstack/react-router=1.169.5
1.169.9
npm/@tanstack/nitro-v2-vite-plugin=1.154.12
1.154.16
npm/@tanstack/history=1.161.9
1.161.13
npm/@tanstack/eslint-plugin-start=0.0.4
0.0.8
npm/@tanstack/eslint-plugin-router=1.161.9
1.161.13
npm/@tanstack/arktype-adapter=1.166.12
1.166.16
TanStack TanStack
TanStack Tanstack\/arktype-adapter Node.js=1.166.12
TanStack Tanstack\/arktype-adapter Node.js=1.166.15
TanStack Tanstack\/eslint-plugin-router Node.js=1.161.9
TanStack Tanstack\/eslint-plugin-router Node.js=1.161.12
TanStack Tanstack\/eslint-plugin-start Node.js=0.0.4
TanStack Tanstack\/eslint-plugin-start Node.js=0.0.7
TanStack Tanstack\/history Node.js=1.161.9
TanStack Tanstack\/history Node.js=1.161.12
TanStack Tanstack\/nitro-v2-vite-plugin Node.js=1.154.12
TanStack Tanstack\/nitro-v2-vite-plugin Node.js=1.154.15
TanStack Tanstack\/react-router Node.js=1.169.5
TanStack Tanstack\/react-router Node.js=1.169.8
TanStack Tanstack\/react-router-devtools Node.js=1.166.16
TanStack Tanstack\/react-router-devtools Node.js=1.166.19
TanStack Tanstack\/react-router-ssr-query Node.js=1.166.15
TanStack Tanstack\/react-router-ssr-query Node.js=1.166.18
TanStack Tanstack\/react-start Node.js=1.167.68
TanStack Tanstack\/react-start Node.js=1.167.71
TanStack Tanstack\/react-start-client Node.js=1.166.51
TanStack Tanstack\/react-start-client Node.js=1.166.54
TanStack Tanstack\/react-start-rsc Node.js=0.0.47
TanStack Tanstack\/react-start-rsc Node.js=0.0.50
TanStack Tanstack\/react-start-server Node.js=1.166.55
TanStack Tanstack\/react-start-server Node.js=1.166.58
TanStack Tanstack\/router-cli Node.js=1.166.46
TanStack Tanstack\/router-cli Node.js=1.166.49
TanStack Tanstack\/router-core Node.js=1.169.5
TanStack Tanstack\/router-core Node.js=1.169.8
TanStack Tanstack\/router-devtools Node.js=1.166.16
TanStack Tanstack\/router-devtools Node.js=1.166.19
TanStack Tanstack\/router-devtools-core Node.js=1.167.6
TanStack Tanstack\/router-devtools-core Node.js=1.167.9
TanStack Tanstack\/router-generator Node.js=1.166.45
TanStack Tanstack\/router-generator Node.js=1.166.48
TanStack Tanstack\/router-plugin Node.js=1.167.38
TanStack Tanstack\/router-plugin Node.js=1.167.41
TanStack Tanstack\/router-ssr-query-core Node.js=1.168.3
TanStack Tanstack\/router-ssr-query-core Node.js=1.168.6
TanStack Tanstack\/router-utils Node.js=1.161.11
TanStack Tanstack\/router-utils Node.js=1.161.14
TanStack Tanstack\/router-vite-plugin Node.js=1.166.53
TanStack Tanstack\/router-vite-plugin Node.js=1.166.56
TanStack Tanstack\/solid-router Node.js=1.169.5
TanStack Tanstack\/solid-router Node.js=1.169.8
TanStack Tanstack\/solid-router-devtools Node.js=1.166.16
TanStack Tanstack\/solid-router-devtools Node.js=1.166.19
TanStack Tanstack\/solid-router-ssr-query Node.js=1.166.15
TanStack Tanstack\/solid-router-ssr-query Node.js=1.166.18
TanStack Tanstack\/solid-start Node.js=1.167.65
TanStack Tanstack\/solid-start Node.js=1.167.68
TanStack Tanstack\/solid-start-client Node.js=1.166.50
TanStack Tanstack\/solid-start-client Node.js=1.166.53
TanStack Tanstack\/solid-start-server Node.js=1.166.54
TanStack Tanstack\/solid-start-server Node.js=1.166.57
TanStack Tanstack\/start-client-core Node.js=1.168.5
TanStack Tanstack\/start-client-core Node.js=1.168.8
TanStack Tanstack\/start-fn-stubs Node.js=1.161.9
TanStack Tanstack\/start-fn-stubs Node.js=1.161.12
TanStack Tanstack\/start-plugin-core Node.js=1.169.23
TanStack Tanstack\/start-plugin-core Node.js=1.169.26
TanStack Tanstack\/start-server-core Node.js=1.167.33
TanStack Tanstack\/start-server-core Node.js=1.167.36
TanStack Tanstack\/start-static-server-functions Node.js=1.166.44
TanStack Tanstack\/start-static-server-functions Node.js=1.166.47
TanStack Tanstack\/start-storage-context Node.js=1.166.38
TanStack Tanstack\/start-storage-context Node.js=1.166.41
TanStack Tanstack\/valibot-adapter Node.js=1.166.12
TanStack Tanstack\/valibot-adapter Node.js=1.166.15
TanStack Tanstack\/virtual-file-routes Node.js=1.161.10
TanStack Tanstack\/virtual-file-routes Node.js=1.161.13
TanStack Tanstack\/vue-router Node.js=1.169.5
TanStack Tanstack\/vue-router Node.js=1.169.8
TanStack Tanstack\/vue-router-devtools Node.js=1.166.16
TanStack Tanstack\/vue-router-devtools Node.js=1.166.19
TanStack Tanstack\/vue-router-ssr-query Node.js=1.166.15
TanStack Tanstack\/vue-router-ssr-query Node.js=1.166.18
TanStack Tanstack\/vue-start Node.js=1.167.61
TanStack Tanstack\/vue-start Node.js=1.167.64
TanStack Tanstack\/vue-start-client Node.js=1.166.46
TanStack Tanstack\/vue-start-client Node.js=1.166.49
TanStack Tanstack\/vue-start-server Node.js=1.166.50
TanStack Tanstack\/vue-start-server Node.js=1.166.53
TanStack Tanstack\/zod-adapter Node.js=1.166.12
TanStack Tanstack\/zod-adapter Node.js=1.166.15
Mistral Mistralai Python=2.4.6
Mistral Mistralai\/mistralai Node.js=2.2.3
Mistral Mistralai\/mistralai Node.js=2.2.4
Mistral Mistralai\/mistralai-azure Node.js=1.7.2
Mistral Mistralai\/mistralai-azure Node.js=1.7.3
Mistral Mistralai\/mistralai-gcp Node.js=1.7.2
Mistral Mistralai\/mistralai-gcp Node.js=1.7.3
Antoinebcx Ml-toolkit-ts Node.js=1.0.4
Antoinebcx Ml-toolkit-ts Node.js=1.0.5
Antoinebcx Ml-toolkit-ts\/preprocessing Node.js=1.0.2
Antoinebcx Ml-toolkit-ts\/preprocessing Node.js=1.0.3
Antoinebcx Ml-toolkit-ts\/xgboost Node.js=1.0.3
Antoinebcx Ml-toolkit-ts\/xgboost Node.js=1.0.4
Beproduct Beproduct\/nestjs-auth Node.js=0.1.2
Beproduct Beproduct\/nestjs-auth Node.js=0.1.3
Beproduct Beproduct\/nestjs-auth Node.js=0.1.4
Beproduct Beproduct\/nestjs-auth Node.js=0.1.5
Beproduct Beproduct\/nestjs-auth Node.js=0.1.6
Beproduct Beproduct\/nestjs-auth Node.js=0.1.7
Beproduct Beproduct\/nestjs-auth Node.js=0.1.8
Beproduct Beproduct\/nestjs-auth Node.js=0.1.9
Beproduct Beproduct\/nestjs-auth Node.js=0.1.10
Beproduct Beproduct\/nestjs-auth Node.js=0.1.11
Beproduct Beproduct\/nestjs-auth Node.js=0.1.12
Beproduct Beproduct\/nestjs-auth Node.js=0.1.13
Beproduct Beproduct\/nestjs-auth Node.js=0.1.14
Beproduct Beproduct\/nestjs-auth Node.js=0.1.15
Beproduct Beproduct\/nestjs-auth Node.js=0.1.16
Beproduct Beproduct\/nestjs-auth Node.js=0.1.17
Beproduct Beproduct\/nestjs-auth Node.js=0.1.19
Christianalares Git-git-git Node.js=1.0.8
Christianalares Git-git-git Node.js=1.0.9
Christianalares Git-git-git Node.js=1.0.10
Christianalares Git-git-git Node.js=1.0.12
Christianalares Git Branch Selector Node.js=1.3.3
Christianalares Git Branch Selector Node.js=1.3.4
Christianalares Git Branch Selector Node.js=1.3.5
Christianalares Git Branch Selector Node.js=1.3.7
Christianalares Nextmove-mcp Node.js=0.1.3
Christianalares Nextmove-mcp Node.js=0.1.4
Christianalares Nextmove-mcp Node.js=0.1.5
Christianalares Nextmove-mcp Node.js=0.1.7
Christianalares Tolka\/cli Node.js=1.0.2
Christianalares Tolka\/cli Node.js=1.0.3
Christianalares Tolka\/cli Node.js=1.0.4
Christianalares Tolka\/cli Node.js=1.0.6
Multiagentcognition Cmux-agent-mcp Node.js=0.1.3
Multiagentcognition Cmux-agent-mcp Node.js=0.1.4
Multiagentcognition Cmux-agent-mcp Node.js=0.1.5
Multiagentcognition Cmux-agent-mcp Node.js=0.1.6
Multiagentcognition Cmux-agent-mcp Node.js=0.1.7
Multiagentcognition Cmux-agent-mcp Node.js=0.1.8
Abhishake1 Supersurkhet\/cli Node.js=0.0.2
Abhishake1 Supersurkhet\/cli Node.js=0.0.3
Abhishake1 Supersurkhet\/cli Node.js=0.0.4
Abhishake1 Supersurkhet\/cli Node.js=0.0.5
Abhishake1 Supersurkhet\/cli Node.js=0.0.6
Abhishake1 Supersurkhet\/cli Node.js=0.0.7
Abhishake1 Supersurkhet\/sdk Node.js=0.0.2
Abhishake1 Supersurkhet\/sdk Node.js=0.0.3
Abhishake1 Supersurkhet\/sdk Node.js=0.0.4
Abhishake1 Supersurkhet\/sdk Node.js=0.0.5
Abhishake1 Supersurkhet\/sdk Node.js=0.0.6
Abhishake1 Supersurkhet\/sdk Node.js=0.0.7
Abhishake1 Taskflow-corp\/cli Node.js=0.1.24
Abhishake1 Taskflow-corp\/cli Node.js=0.1.25
Abhishake1 Taskflow-corp\/cli Node.js=0.1.26
Abhishake1 Taskflow-corp\/cli Node.js=0.1.27
Abhishake1 Taskflow-corp\/cli Node.js=0.1.28
Abhishake1 Taskflow-corp\/cli Node.js=0.1.29
Kilbot Tallyui\/components Node.js=1.0.1
Kilbot Tallyui\/components Node.js=1.0.2
Kilbot Tallyui\/components Node.js=1.0.3
Kilbot Tallyui\/connector-medusa Node.js=1.0.1
Kilbot Tallyui\/connector-medusa Node.js=1.0.2
Kilbot Tallyui\/connector-medusa Node.js=1.0.3
Kilbot Tallyui\/connector-shopify Node.js=1.0.1
Kilbot Tallyui\/connector-shopify Node.js=1.0.2
Kilbot Tallyui\/connector-shopify Node.js=1.0.3
Kilbot Tallyui\/connector-vendure Node.js=1.0.1
Kilbot Tallyui\/connector-vendure Node.js=1.0.2
Kilbot Tallyui\/connector-vendure Node.js=1.0.3
Kilbot Tallyui\/connector-woocommerce Node.js=1.0.1
Kilbot Tallyui\/connector-woocommerce Node.js=1.0.2
Kilbot Tallyui\/connector-woocommerce Node.js=1.0.3
Kilbot Tallyui\/core Node.js=0.2.1
Kilbot Tallyui\/core Node.js=0.2.2
Kilbot Tallyui\/core Node.js=0.2.3
Kilbot Tallyui\/database Node.js=1.0.1
Kilbot Tallyui\/database Node.js=1.0.2
Kilbot Tallyui\/database Node.js=1.0.3
Kilbot Tallyui\/pos Node.js=0.1.1
Kilbot Tallyui\/pos Node.js=0.1.2
Kilbot Tallyui\/pos Node.js=0.1.3
Kilbot Tallyui\/storage-sqlite Node.js=0.2.1
Kilbot Tallyui\/storage-sqlite Node.js=0.2.2
Kilbot Tallyui\/storage-sqlite Node.js=0.2.3
Kilbot Tallyui\/theme Node.js=0.2.1
Kilbot Tallyui\/theme Node.js=0.2.2
Kilbot Tallyui\/theme Node.js=0.2.3
Matheuspergoli Draftauth\/client Node.js=0.2.1
Matheuspergoli Draftauth\/client Node.js=0.2.2
Matheuspergoli Draftauth\/core Node.js=0.13.1
Matheuspergoli Draftauth\/core Node.js=0.13.2
Matheuspergoli Draftlab\/auth Node.js=0.24.1
Matheuspergoli Draftlab\/auth Node.js=0.24.2
Matheuspergoli Draftlab\/auth-router Node.js=0.5.1
Matheuspergoli Draftlab\/auth-router Node.js=0.5.2
Matheuspergoli Draftlab\/db Node.js=0.16.1
Matheuspergoli Draftlab\/db Node.js=0.16.2
Matheuspergoli Simple Type-safe Actions Node.js=0.8.3
Matheuspergoli Simple Type-safe Actions Node.js=0.8.4
Neilcochran Cross-stitch Node.js=1.1.3
Neilcochran Cross-stitch Node.js=1.1.4
Neilcochran Cross-stitch Node.js=1.1.6
Neilcochran Squawk\/airports Node.js=0.6.2
Neilcochran Squawk\/airports Node.js=0.6.3
Neilcochran Squawk\/airports Node.js=0.6.5
Neilcochran Squawk\/airspace Node.js=0.8.1
Neilcochran Squawk\/airspace Node.js=0.8.2
Neilcochran Squawk\/airspace Node.js=0.8.4
Neilcochran Squawk\/airspace-data Node.js=0.5.3
Neilcochran Squawk\/airspace-data Node.js=0.5.4
Neilcochran Squawk\/airspace-data Node.js=0.5.6
Neilcochran Squawk\/airway-data Node.js=0.5.4
Neilcochran Squawk\/airway-data Node.js=0.5.5
Neilcochran Squawk\/airway-data Node.js=0.5.7
Neilcochran Squawk\/airways Node.js=0.4.2
Neilcochran Squawk\/airways Node.js=0.4.3
Neilcochran Squawk\/airways Node.js=0.4.5
Neilcochran Squawk\/fix-data Node.js=0.6.4
Neilcochran Squawk\/fix-data Node.js=0.6.5
Neilcochran Squawk\/fix-data Node.js=0.6.7
Neilcochran Squawk\/fixes Node.js=0.3.2
Neilcochran Squawk\/fixes Node.js=0.3.3
Neilcochran Squawk\/fixes Node.js=0.3.5
Neilcochran Squawk\/flight-math Node.js=0.5.4
Neilcochran Squawk\/flight-math Node.js=0.5.5
Neilcochran Squawk\/flight-math Node.js=0.5.7
Neilcochran Squawk\/flightplan Node.js=0.5.2
Neilcochran Squawk\/flightplan Node.js=0.5.3
Neilcochran Squawk\/flightplan Node.js=0.5.5
Neilcochran Squawk\/geo Node.js=0.4.4
Neilcochran Squawk\/geo Node.js=0.4.5
Neilcochran Squawk\/geo Node.js=0.4.7
Neilcochran Squawk\/icao-registry Node.js=0.5.2
Neilcochran Squawk\/icao-registry Node.js=0.5.3
Neilcochran Squawk\/icao-registry Node.js=0.5.5
Neilcochran Squawk\/icao-registry-data Node.js=0.8.4
Neilcochran Squawk\/icao-registry-data Node.js=0.8.5
Neilcochran Squawk\/icao-registry-data Node.js=0.8.7
Neilcochran Squawk\/mcp Node.js=0.9.1
Neilcochran Squawk\/mcp Node.js=0.9.2
Neilcochran Squawk\/mcp Node.js=0.9.4
Neilcochran Squawk\/navaid-data Node.js=0.6.4
Neilcochran Squawk\/navaid-data Node.js=0.6.5
Neilcochran Squawk\/navaid-data Node.js=0.6.7
Neilcochran Squawk\/navaids Node.js=0.4.2
Neilcochran Squawk\/navaids Node.js=0.4.3
Neilcochran Squawk\/navaids Node.js=0.4.5
Neilcochran Squawk\/notams Node.js=0.3.6
Neilcochran Squawk\/notams Node.js=0.3.7
Neilcochran Squawk\/notams Node.js=0.3.9
Neilcochran Squawk\/procedure-data Node.js=0.7.3
Neilcochran Squawk\/procedure-data Node.js=0.7.4
Neilcochran Squawk\/procedure-data Node.js=0.7.6
Neilcochran Squawk\/procedures Node.js=0.5.2
Neilcochran Squawk\/procedures Node.js=0.5.3
Neilcochran Squawk\/procedures Node.js=0.5.5
Neilcochran Squawk\/types Node.js=0.8.1
Neilcochran Squawk\/types Node.js=0.8.2
Neilcochran Squawk\/types Node.js=0.8.4
Neilcochran Squawk\/units Node.js=0.4.3
Neilcochran Squawk\/units Node.js=0.4.4
Neilcochran Squawk\/units Node.js=0.4.6
Neilcochran Squawk\/weather Node.js=0.5.6
Neilcochran Squawk\/weather Node.js=0.5.7
Neilcochran Squawk\/weather Node.js=0.5.9
Neilcochran Ts-dna Node.js=3.0.1
Neilcochran Ts-dna Node.js=3.0.2
Neilcochran Ts-dna Node.js=3.0.4
Neilcochran Wot-api Node.js=0.8.1
Neilcochran Wot-api Node.js=0.8.2
Neilcochran Wot-api Node.js=0.8.4
Agentworkhq Agentwork-cli Node.js=0.1.4
Agentworkhq Agentwork-cli Node.js=0.1.5
Dirigible Dirigible-ai\/sdk Node.js=0.6.2
Dirigible Dirigible-ai\/sdk Node.js=0.6.3
Guardrailsai Guardrails Ai Python=0.10.1
linuxfoundation Opensearch Node.js=3.6.2
Mesa Mesadev\/rest Node.js=0.28.3
Mesa Mesadev\/saguaro Node.js=0.4.22
Mesa Mesadev\/sdk Node.js=0.28.3
UiPath Uipath\/access-policy-sdk Node.js=0.3.1
UiPath Uipath\/access-policy-tool Node.js=0.3.1
UiPath Uipath\/admin-tool Node.js=0.1.1
UiPath Uipath\/agent-sdk Node.js=1.0.2
UiPath Uipath\/agent-tool Node.js=1.0.1
UiPath Uipath\/agent.sdk Node.js=0.0.18
UiPath Uipath\/aops-policy-tool Node.js=0.3.1
UiPath Uipath\/ap-chat Node.js=1.5.7
UiPath Uipath\/api-workflow-tool Node.js=1.0.1
UiPath Uipath\/apollo-core Node.js=5.9.2
UiPath Uipath\/apollo-react Node.js=4.24.5
UiPath Uipath\/apollo-wind Node.js=2.16.2
UiPath Uipath\/auth Node.js=1.0.1
UiPath Uipath\/case-tool Node.js=1.0.1
UiPath Uipath\/cli Node.js=1.0.1
UiPath Uipath\/codedagent-tool Node.js=1.0.1
UiPath Uipath\/codedagents-tool Node.js=0.1.12
UiPath Uipath\/codedapp-tool Node.js=1.0.1
UiPath Uipath\/common Node.js=1.0.1
UiPath Uipath\/context-grounding-tool Node.js=0.1.1
UiPath Uipath\/data-fabric-tool Node.js=1.0.2
UiPath Uipath\/docsai-tool Node.js=1.0.1
UiPath Uipath\/filesystem Node.js=1.0.1
UiPath Uipath\/flow-tool Node.js=1.0.2
UiPath Uipath\/functions-tool Node.js=1.0.1
UiPath Uipath\/gov-tool Node.js=0.3.1
UiPath Uipath\/identity-tool Node.js=0.1.1
UiPath Uipath\/insights-sdk Node.js=1.0.1
UiPath Uipath\/insights-tool Node.js=1.0.1
UiPath Uipath\/integrationservice-sdk Node.js=1.0.2
UiPath Uipath\/integrationservice-tool Node.js=1.0.2
UiPath Uipath\/llmgw-tool Node.js=1.0.1
UiPath Uipath\/maestro-sdk Node.js=1.0.1
UiPath Uipath\/maestro-tool Node.js=1.0.1
UiPath Uipath\/orchestrator-tool Node.js=1.0.1
UiPath Uipath\/packager-tool-apiworkflow Node.js=0.0.19
UiPath Uipath\/packager-tool-bpmn Node.js=0.0.9
UiPath Uipath\/packager-tool-case Node.js=0.0.9
UiPath Uipath\/packager-tool-connector Node.js=0.0.19
UiPath Uipath\/packager-tool-flow Node.js=0.0.19
UiPath Uipath\/packager-tool-functions Node.js=0.1.1
UiPath Uipath\/packager-tool-webapp Node.js=1.0.6
UiPath Uipath\/packager-tool-workflowcompiler Node.js=0.0.16
UiPath Uipath\/packager-tool-workflowcompiler-browser Node.js=0.0.34
UiPath Uipath\/platform-tool Node.js=1.0.1
UiPath Uipath\/project-packager Node.js=1.1.16
UiPath Uipath\/resource-tool Node.js=1.0.1
UiPath Uipath\/resourcecatalog-tool Node.js=0.1.1
UiPath Uipath\/resources-tool Node.js=0.1.11
UiPath Uipath\/robot Node.js=1.3.4
UiPath Uipath\/rpa-legacy-tool Node.js=1.0.1
UiPath Uipath\/rpa-tool Node.js=0.9.5
UiPath Uipath\/solution-packager Node.js=0.0.35
UiPath Uipath\/solution-tool Node.js=1.0.1
UiPath Uipath\/solutionpackager-sdk Node.js=1.0.11
UiPath Uipath\/solutionpackager-tool-core Node.js=0.0.34
UiPath Uipath\/tasks-tool Node.js=1.0.1
UiPath Uipath\/telemetry Node.js=0.0.7
UiPath Uipath\/test-manager-tool Node.js=1.0.2
UiPath Uipath\/tool-workflowcompiler Node.js=0.0.12
UiPath Uipath\/traces-tool Node.js=1.0.1
UiPath Uipath\/ui-widgets-multi-file-upload Node.js=1.0.1
UiPath Uipath\/uipath-python-bridge Node.js=1.0.1
UiPath Uipath\/vertical-solutions-tool Node.js=1.0.1
UiPath Uipath\/vss Node.js=0.1.6
UiPath Uipath\/widget.sdk Node.js=1.2.3

Remediation

Information

Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.

Event History

May 12, 2026
CVE Published
via MITRE·12:12 AM
Data Sourced
via MITRE·12:12 AM
DescriptionSeverityWeakness
Advisory Published
via GitHub·12:12 AM
Data Sourced
via GitHub·12:12 AM
DescriptionSeverityWeaknessAffected Software
Data Sourced
via NVD·01:16 AM
DescriptionSeverityWeaknessAffected Software
May 27, 2026
Known Exploited
via CISA·12:00 AM
Known Ransomware
via CISA·12:00 AM
Data Sourced
via CISA·12:00 AM
RemedyDescriptionAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-45321?

CVE-2026-45321 is classified as a critical vulnerability due to the unauthorized publication of malicious packages to the npm registry.

2

How do I fix CVE-2026-45321?

To mitigate CVE-2026-45321, update to the latest versions of affected packages, such as @tanstack/zod-adapter 1.166.16, @tanstack/vue-start-server 1.166.54, and others listed in the advisory.

3

Which packages are affected by CVE-2026-45321?

CVE-2026-45321 affects various packages under the @tanstack/* namespace, including @tanstack/react-router, @tanstack/vue-router, and more.

4

How can I identify if my project is impacted by CVE-2026-45321?

Check your project's dependencies for any versions of packages that match those listed in CVE-2026-45321 to determine if your project is impacted.

5

What are the recommended actions to take after addressing CVE-2026-45321?

After addressing CVE-2026-45321, regularly monitor your project’s dependencies and stay updated on any future advisories related to vulnerabilities.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203