CVE-2026-45321 - Malware in @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, an

🔥 热门漏洞情报 · GitHub-Advisory · 2026-05-12

CVE-2026-45321 - Malware in @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, an

Critical · CVSS 9.8 供应链攻击(恶意代码注入)
CVE-2026-45321

📋 漏洞概述

@tanstack/* 软件包供应链攻击:攻击者利用 GitHub Actions 配置缺陷和缓存投毒,植入窃密恶意软件,窃取云凭证和 GitHub 令牌。

📋 基础信息

受影响版本所有 @tanstack/* 包中,于2026-05-11 19:20-19:26 UTC期间发布的84个恶意版本(每个受影响包有2个恶意版本)
漏洞类型供应链攻击(恶意代码注入)
CVSS9.8 · Critical
CVECVE-2026-45321

🔬 漏洞根因

攻击者利用 GitHub Actions 中 `pull_request_target` 事件的错误配置(Pwn Request 漏洞),该配置允许来自分支的 PR 触发工作流并访问仓库机密。攻击者向恶意的 fork PR 中注入恶意缓存条目,毒化了用于构建流程的 GitHub Actions 缓存。随后,攻击者通过解析 GitHub Actions 运行器进程的内存,提取了 OIDC 令牌(用于 npm 发布身份验证),从而以合法发布者的身份发布了恶意包版本。

🎯 攻击场景

1. 攻击者发现 TanStack/router 仓库的 GitHub Actions 工作流存在 `pull_request_target` 错误配置,允许外部 fork 的 PR 触及机密封装的构建和测试流程。 2. 攻击者提交了一个精心构造的 pull request,其中包含的代码/脚本在 CI 执行时,会向 GitHub Actions 的共享缓存中写入恶意的缓存条目(例如 `node_modules` 或构建产物),利用缓存键冲突实现了缓存投毒。 3. 恶意缓存条目被后续的合法 CI 运行(基于 `push` 或 `pull_request` 触发,且能访问 npm 发布凭据/令牌)所加载。攻击者在缓存中植入的代码从 GitHub Actions 运行器进程的内存中提取了 OIDC 令牌。 4. 攻击者利用窃取的 OIDC 令牌,通过 npm 的受信任发布者绑定(Trusted Publisher)机制,冒充 `@tanstack/*` 包的发布者身份,向 npm 注册表推送了84个包含恶意安装后脚本的恶意包版本。 5. 开发者在安装这些恶意包时,`.npm install` 触发的安装后脚本 (router_init.js) 执行,窃取云凭证、GitHub 令牌、SSH 密钥等敏感数据,并通过 Session/Oxen 网络进行外泄。

💥 漏洞影响

攻击者能够以受信任发布者的身份发布恶意软件包,影响所有在2026-05-11 UTC特定时间窗口内安装或更新受影响 `@tanstack/*` 包的开发者和 CI 环境。恶意代码在安装时执行,窃取 AWS/GCP/K8s/Vault 凭证、npm/GitHub 令牌、SSH 私钥等机密,并将其外泄。该恶意软件还会枚举受害者维护的 npm 包,尝试用相同方式传播感染,可能导致大规模的供应链连锁攻击。

🛡️ 修复建议

立即将所有 `@tanstack/*` 包升级至受影响时间窗口之后的版本(即 > 2026-05-11 19:26 UTC 发布的版本);禁用或轮换所有可能在受影响环境中被访问的云凭证、GitHub 令牌、npm 令牌和 SSH 密钥;审计 npm 账户活动,撤销所有可疑的发布会话;审查 GitHub Actions 工作流,移除或限制 `pull_request_target` 的使用,并启用缓存隔离(例如使用 `cache-scope` 分离 fork 分支的缓存)。临时缓解措施:在网络层面封锁 `filev2.getsession.org`, `seed{1,2,3}.getsession.org` 域名以阻止数据外泄。

📎 参考链接

🚨 威胁评估

📈 EPSS 利用概率低 (0.0%) (高于 12.4% 的漏洞)
🚨 CISA KEV未被已知利用
🔧 公开 PoC5 个公开 PoC 仓库

⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-05-15 08:06 | 来源: GitHub-Advisory

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)