LiveActive security incident?Get immediate response
CVE Record

CVE-2026-45321: Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys

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.

CriticalCVSS 9.6Known exploitedUpdated
Glexia's TakeAutomated analysiscritical

Security readout for executives and security teams

Plain-English summary

Malicious releases were published under trusted @tanstack package names for a short window on May 11, 2026. The malware targeted cloud credentials, GitHub tokens, and SSH keys. This is a supply-chain incident, so business risk depends on whether affected versions were installed in developer, CI, or production build environments.

Executive priority

Treat this as an urgent supply-chain credential exposure event. Prioritize inventory, containment, and secret rotation for systems that consumed affected packages, especially CI and developer environments with cloud or source-control access.

Technical view

Sources describe 84 malicious versions across 42 @tanstack/* npm packages, published via a legitimate GitHub Actions OIDC trusted-publisher path. The attack chained pull_request_target misuse, cache poisoning across fork and base workflows, and runtime OIDC token extraction from the Actions runner process.

Likely exposure

Highest exposure is in organizations that installed affected @tanstack versions during or after the May 11, 2026 publication window. CI runners, developer workstations, and build systems are especially sensitive because the malware sought cloud credentials, GitHub tokens, and SSH keys.

Exploitation context

CISA KEV status indicates known exploitation. The bundle describes malicious npm versions published under trusted identity, not just a theoretical weakness. It does not prove every downstream consumer was compromised, so validation should focus on package inventory, install timing, and secret exposure paths.

Researcher notes

The notable issue is trusted-publisher abuse without a modified publish workflow. Evidence points to a chain involving pull_request_target trust misuse, cache poisoning, and Actions runner OIDC token extraction. The provided affected list is partial relative to the stated 42 packages.

Mitigation direction

  • Identify and remove affected @tanstack package versions from manifests and lockfiles.
  • Follow the TanStack advisory for known-good package versions and cleanup guidance.
  • Rotate cloud credentials, GitHub tokens, and SSH keys exposed on affected systems.
  • Rebuild affected CI runners and developer environments from trusted baselines.
  • Review GitHub Actions OIDC, cache, and pull_request_target workflow controls.
  • Monitor vendor, npm, and CISA guidance for updates.

Validation and detection

  • Search dependency manifests and lockfiles for affected @tanstack versions.
  • Check build logs for installs during the May 11, 2026 malicious publication window.
  • Review CI and workstation logs for unexpected credential access or outbound activity.
  • Inventory secrets available to affected build and developer environments.
  • Confirm rotated credentials are no longer accepted in cloud, GitHub, and SSH systems.
Prepared
Confidence
high
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-506: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
description · low confidence lookup

Credential and access behavior lookup

The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-45321 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Critical
CVSS
9.6 (3.1)
Known Exploited
Yes
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
5Timeline events
1ADP providers
6Source links

CISA KEV status

Status
Known exploited
Source
CISA-ADP
Date added
KEV reference

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: activeAutomatable: noTechnical Impact: total

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
9.6CVSS 3.1CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H2.86GitHub_M

Vulnerability scoring details

Base CVSS 3.1 score

9.6Critical
CVSS 3.1 vector shape for CVE-2026-45321Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. Added to KEVCISA-ADP

    CISA Known Exploited Vulnerabilities metadata lists this CVE as known exploited.

  4. ADP timelineCISA-ADP

    CVE-2026-45321 added to CISA KEV

  5. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CISA-ADPCISA ADP Vulnrichment
other:ssvcother:kev
  • 2026-05-27T00:00:00.000Z: CVE-2026-45321 added to CISA KEV
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
@tanstackarktype-adapter1.166.12, 1.166.15Listed
@tanstackeslint-plugin-router1.161.9, 1.161.12Listed
@tanstackeslint-plugin-start0.0.4, 0.0.7Listed
@tanstackhistory1.161.9, 1.161.12Listed
@tanstacknitro-v2-vite-plugin1.154.12, 1.154.15Listed
@tanstackreact-router1.169.5, 1.169.8Listed
@tanstackreact-router-devtools1.166.16, 1.166.19Listed
@tanstackreact-router-ssr-query1.166.15, 1.166.18Listed
@tanstackreact-start1.167.68, 1.167.71Listed
@tanstackreact-start-client1.166.51, 1.166.54Listed
@tanstackreact-start-rsc0.0.47, 0.0.50Listed
@tanstackreact-start-server1.166.55, 1.166.58Listed
@tanstackrouter-cli1.166.46, 1.166.49Listed
@tanstackrouter-core1.169.5, 1.169.8Listed
@tanstackrouter-devtools1.166.16, 1.166.19Listed
@tanstackrouter-devtools-core1.167.6, 1.167.9Listed
@tanstackrouter-generator1.166.45, 1.166.48Listed
@tanstackrouter-plugin1.167.38, 1.167.41Listed
@tanstackrouter-ssr-query-core1.168.3, 1.168.6Listed
@tanstackrouter-utils1.161.11, 1.161.14Listed
@tanstackouter-vite-plugin1.166.53, 1.166.56Listed
@tanstacksolid-router1.169.5, 1.169.8Listed
@tanstacksolid-router-devtools1.166.16, 1.166.19Listed
@tanstacksolid-router-ssr-query1.166.15, 1.166.18Listed
@tanstacksolid-start1.167.65, 1.167.68Listed
@tanstacksolid-start-client1.166.50, 1.166.53Listed
@tanstacksolid-start-server1.166.54, 1.166.57Listed
@tanstackstart-client-core1.168.5, 1.168.8Listed
@tanstackstart-fn-stubs1.161.9, 1.161.12Listed
@tanstackstart-plugin-core1.169.23, 1.169.26Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-506 · source CWE mapping

Embedded Malicious Code

Embedded Malicious Code represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.