Skip to content
CVE PROGRAM SOURCE RECORD9.6 Critical

CVE-2026-45321

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

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.12affected
  • 1.166.15affected

@tanstack eslint-plugin-router

  • 1.161.9affected
  • 1.161.12affected

@tanstack eslint-plugin-start

  • 0.0.4affected
  • 0.0.7affected

@tanstack history

  • 1.161.9affected
  • 1.161.12affected

@tanstack nitro-v2-vite-plugin

  • 1.154.12affected
  • 1.154.15affected

@tanstack react-router

  • 1.169.5affected
  • 1.169.8affected

@tanstack react-router-devtools

  • 1.166.16affected
  • 1.166.19affected

@tanstack react-router-ssr-query

  • 1.166.15affected
  • 1.166.18affected

@tanstack react-start

  • 1.167.68affected
  • 1.167.71affected

@tanstack react-start-client

  • 1.166.51affected
  • 1.166.54affected

@tanstack react-start-rsc

  • 0.0.47affected
  • 0.0.50affected

@tanstack react-start-server

  • 1.166.55affected
  • 1.166.58affected

@tanstack router-cli

  • 1.166.46affected
  • 1.166.49affected

@tanstack router-core

  • 1.169.5affected
  • 1.169.8affected

@tanstack router-devtools

  • 1.166.16affected
  • 1.166.19affected

@tanstack router-devtools-core

  • 1.167.6affected
  • 1.167.9affected

@tanstack router-generator

  • 1.166.45affected
  • 1.166.48affected

@tanstack router-plugin

  • 1.167.38affected
  • 1.167.41affected

@tanstack router-ssr-query-core

  • 1.168.3affected
  • 1.168.6affected

@tanstack router-utils

  • 1.161.11affected
  • 1.161.14affected

@tanstack outer-vite-plugin

  • 1.166.53affected
  • 1.166.56affected

@tanstack solid-router

  • 1.169.5affected
  • 1.169.8affected

@tanstack solid-router-devtools

  • 1.166.16affected
  • 1.166.19affected

@tanstack solid-router-ssr-query

  • 1.166.15affected
  • 1.166.18affected

@tanstack solid-start

  • 1.167.65affected
  • 1.167.68affected

@tanstack solid-start-client

  • 1.166.50affected
  • 1.166.53affected

@tanstack solid-start-server

  • 1.166.54affected
  • 1.166.57affected

@tanstack start-client-core

  • 1.168.5affected
  • 1.168.8affected

@tanstack start-fn-stubs

  • 1.161.9affected
  • 1.161.12affected

@tanstack start-plugin-core

  • 1.169.23affected
  • 1.169.26affected

@tanstack start-server-core

  • 1.167.33affected
  • 1.167.36affected

@tanstack start-static-server-functions

  • 1.166.44affected
  • 1.166.47affected

@tanstack start-storage-context

  • 1.166.38affected
  • 1.166.41affected

@tanstack valibot-adapter

  • 1.166.12affected
  • 1.166.15affected

@tanstack virtual-file-routes

  • 1.161.10affected
  • 1.161.13affected

@tanstack vue-router

  • 1.169.5affected
  • 1.169.8affected

@tanstack vue-router-devtools

  • 1.166.16affected
  • 1.166.19affected

@tanstack vue-router-ssr-query

  • 1.166.15affected
  • 1.166.18affected

@tanstack vue-start

  • 1.167.61affected
  • 1.167.64affected

@tanstack vue-start-client

  • 1.166.46affected
  • 1.166.49affected

@tanstack vue-start-server

  • 1.166.50affected
  • 1.166.53affected

@tanstack zod-adapter

  • 1.166.12affected
  • 1.166.15affected

References