Skip to content
Activamente explotadaCVSS 9.6 · CRITICAL

CVE-2026-45321

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.

Ver en NVD

Análisis

Varios paquetes del ecosistema @tanstack en npm fueron comprometidos para incluir malware diseñado para el robo de credenciales. El atacante aprovechó vulnerabilidades en GitHub Actions para suplantar la identidad oficial de la organización, por lo que esta vulnerabilidad está siendo explotada activamente como un ataque de cadena de suministro. Es imperativo revisar y rotar credenciales si utilizas estos paquetes en tus proyectos de frontend o backend.

Roles relevantes

FrontendJavascriptTypescriptReactVueBackend

Severidad

Puntaje: 9.6(CRITICAL)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
AV: NETWORK
AC: LOW
PR: NONE
UI: REQUIRED
S: CHANGED
C: HIGH
I: HIGH
A: HIGH
Tipo de falla (CWE): CWE-506

CISA KEV

Agregada al KEV: 2026-05-27
Fecha límite federal: 2026-06-10
Uso conocido en ransomware: Known
Acción requerida

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

EPSS

Probabilidad de explotación (próx. 30 días): 0.1705 (17.1%)
Percentil: 95.1%
EPSS: 2026-06-10

Afecta

tanstack:tanstack\/arktype-adaptertanstack:tanstack\/eslint-plugin-routertanstack:tanstack\/eslint-plugin-starttanstack:tanstack\/historytanstack:tanstack\/nitro-v2-vite-plugintanstack:tanstack\/react-routertanstack:tanstack\/react-router-devtoolstanstack:tanstack\/react-router-ssr-querytanstack:tanstack\/react-starttanstack:tanstack\/react-start-clienttanstack:tanstack\/react-start-rsctanstack:tanstack\/react-start-servertanstack:tanstack\/router-clitanstack:tanstack\/router-coretanstack:tanstack\/router-devtoolstanstack:tanstack\/router-devtools-coretanstack:tanstack\/router-generatortanstack:tanstack\/router-plugintanstack:tanstack\/router-ssr-query-coretanstack:tanstack\/router-utilstanstack:tanstack\/router-vite-plugintanstack:tanstack\/solid-routertanstack:tanstack\/solid-router-devtoolstanstack:tanstack\/solid-router-ssr-querytanstack:tanstack\/solid-starttanstack:tanstack\/solid-start-clienttanstack:tanstack\/solid-start-servertanstack:tanstack\/start-client-coretanstack:tanstack\/start-fn-stubstanstack:tanstack\/start-plugin-coretanstack:tanstack\/start-server-coretanstack:tanstack\/start-static-server-functionstanstack:tanstack\/start-storage-contexttanstack:tanstack\/valibot-adaptertanstack:tanstack\/virtual-file-routestanstack:tanstack\/vue-routertanstack:tanstack\/vue-router-devtoolstanstack:tanstack\/vue-router-ssr-querytanstack:tanstack\/vue-starttanstack:tanstack\/vue-start-clienttanstack:tanstack\/vue-start-servertanstack:tanstack\/zod-adaptermistral:mistralaimistral:mistralai\/mistralaimistral:mistralai\/mistralai-azuremistral:mistralai\/mistralai-gcpantoinebcx:ml-toolkit-tsantoinebcx:ml-toolkit-ts\/preprocessingantoinebcx:ml-toolkit-ts\/xgboostbeproduct:beproduct\/nestjs-authchristianalares:git-git-gitchristianalares:git_branch_selectorchristianalares:nextmove-mcpchristianalares:tolka\/climultiagentcognition:cmux-agent-mcpabhishake1:supersurkhet\/cliabhishake1:supersurkhet\/sdkabhishake1:taskflow-corp\/clikilbot:tallyui\/componentskilbot:tallyui\/connector-medusakilbot:tallyui\/connector-shopifykilbot:tallyui\/connector-vendurekilbot:tallyui\/connector-woocommercekilbot:tallyui\/corekilbot:tallyui\/databasekilbot:tallyui\/poskilbot:tallyui\/storage-sqlitekilbot:tallyui\/themematheuspergoli:draftauth\/clientmatheuspergoli:draftauth\/corematheuspergoli:draftlab\/authmatheuspergoli:draftlab\/auth-routermatheuspergoli:draftlab\/dbmatheuspergoli:simple_type-safe_actionsneilcochran:cross-stitchneilcochran:squawk\/airportsneilcochran:squawk\/airspaceneilcochran:squawk\/airspace-dataneilcochran:squawk\/airway-dataneilcochran:squawk\/airwaysneilcochran:squawk\/fix-dataneilcochran:squawk\/fixesneilcochran:squawk\/flight-mathneilcochran:squawk\/flightplanneilcochran:squawk\/geoneilcochran:squawk\/icao-registryneilcochran:squawk\/icao-registry-dataneilcochran:squawk\/mcpneilcochran:squawk\/navaid-dataneilcochran:squawk\/navaidsneilcochran:squawk\/notamsneilcochran:squawk\/procedure-dataneilcochran:squawk\/proceduresneilcochran:squawk\/typesneilcochran:squawk\/unitsneilcochran:squawk\/weatherneilcochran:ts-dnaneilcochran:wot-apiagentworkhq:agentwork-clidirigible:dirigible-ai\/sdkguardrailsai:guardrails_ailinuxfoundation:opensearchmesa:mesadev\/restmesa:mesadev\/saguaromesa:mesadev\/sdkuipath:uipath\/access-policy-sdkuipath:uipath\/access-policy-tooluipath:uipath\/admin-tooluipath:uipath\/agent-sdkuipath:uipath\/agent-tooluipath:uipath\/agent.sdkuipath:uipath\/aops-policy-tooluipath:uipath\/ap-chatuipath:uipath\/api-workflow-tooluipath:uipath\/apollo-coreuipath:uipath\/apollo-reactuipath:uipath\/apollo-winduipath:uipath\/authuipath:uipath\/case-tooluipath:uipath\/cliuipath:uipath\/codedagent-tooluipath:uipath\/codedagents-tooluipath:uipath\/codedapp-tooluipath:uipath\/commonuipath:uipath\/context-grounding-tooluipath:uipath\/data-fabric-tooluipath:uipath\/docsai-tooluipath:uipath\/filesystemuipath:uipath\/flow-tooluipath:uipath\/functions-tooluipath:uipath\/gov-tooluipath:uipath\/identity-tooluipath:uipath\/insights-sdkuipath:uipath\/insights-tooluipath:uipath\/integrationservice-sdkuipath:uipath\/integrationservice-tooluipath:uipath\/llmgw-tooluipath:uipath\/maestro-sdkuipath:uipath\/maestro-tooluipath:uipath\/orchestrator-tooluipath:uipath\/packager-tool-apiworkflowuipath:uipath\/packager-tool-bpmnuipath:uipath\/packager-tool-caseuipath:uipath\/packager-tool-connectoruipath:uipath\/packager-tool-flowuipath:uipath\/packager-tool-functionsuipath:uipath\/packager-tool-webappuipath:uipath\/packager-tool-workflowcompileruipath:uipath\/packager-tool-workflowcompiler-browseruipath:uipath\/platform-tooluipath:uipath\/project-packageruipath:uipath\/resource-tooluipath:uipath\/resourcecatalog-tooluipath:uipath\/resources-tooluipath:uipath\/robotuipath:uipath\/rpa-legacy-tooluipath:uipath\/rpa-tooluipath:uipath\/solution-packageruipath:uipath\/solution-tooluipath:uipath\/solutionpackager-sdkuipath:uipath\/solutionpackager-tool-coreuipath:uipath\/tasks-tooluipath:uipath\/telemetryuipath:uipath\/test-manager-tooluipath:uipath\/tool-workflowcompileruipath:uipath\/traces-tooluipath:uipath\/ui-widgets-multi-file-uploaduipath:uipath\/uipath-python-bridgeuipath:uipath\/vertical-solutions-tooluipath:uipath\/vssuipath:uipath\/widget.sdk

Descripción técnica

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.

Publicada: 12/5/2026, 1:16:46
Última modificación: 29/5/2026, 19:41:37

Referencias

InicioEventosBlogRecursosEquipo