漏洞  ·  2026-10-07

MCP TypeScript SDK OAuth 凭据重定向 — 恶意 MCP 服务器在无需用户交互的情况下窃取 refresh_token/client_secret

漏洞High 影响GlobalCVE-2026-104850
在官方 MCP TypeScript SDK 中,OAuth 客户端让客户端连接的 MCP 服务器决定哪个授权服务器接收客户端的 OAuth 凭据;存储/预置的凭据未绑定到它们所属的授权服务器(CWE-345/CWE-522)。恶意或受感染的 MCP 服务器可以在受保护资源元数据中指定自己的授权服务器,并且无需用户交互即可接收受害者的已保存 `refresh_token` 和 `client_secret`(1.x)或捆绑的非交互式提供程序的已配置 `client_secret`/签名断言(1.x 和 2.x)。已在 SDK 1.31.0 和 @modelcontextprotocol/client 2.2.0 中修复。
这是 Model Context Protocol 的参考 SDK——代理式 AI 的连接组织。由于它是可自动化的(无 UI、无用户确认),任何持有合法提供商 OAuth 凭据并连接到不受信任或受感染 MCP 服务器的代理都会静默交出长期令牌,从而在整个代理堆栈中实现账户/API 接管。可信签发者绑定缺口是生态系统核心客户端库中的结构性 OAuth 集成缺陷。
代理连接到攻击者控制/受感染的 MCP 服务器;服务器在资源元数据中通告自己的授权服务器;SDK 在下次令牌刷新时将存储的 refresh_token + client_secret 发送到该端点。
@modelcontextprotocol/sdk >= 1.12.0,< 1.31.0(1.x);@modelcontextprotocol/client >= 2.0.0,< 2.2.0(2.x)
升级到 @modelcontextprotocol/sdk 1.31.0 或 @modelcontextprotocol/client 2.2.0;在 1.x 上仅将启用 OAuth 的客户端连接到受信任的 MCP 服务器(变通方法)。
NVD CVE-2026-104850GitHub advisory GHSA-6qxp-vccf-f47hGitLab advisory CVE-2026-104850MCP SDK fix commit
在实时动态中查看 浏览更多 AI 安全与治理相关发现 — 每日清晨更新。
打开动态 →