MCP SDK 2.3 升级报 ALREADY_CONNECTED?这是高危 CVE-2026-111770 的修复副作用

Future_AGI · reddit · 2026-10-21

作者详解 modelcontextprotocol/server 2.0.0–2.2.0 的高危漏洞 CVE-2026-111770(CVSS 7.7):README 模板让 Express/Fastify/Hono/Node 在模块级共享一个 McpServer,而 SDK 按 JSON-RPC id(从 0 计数)匹配响应,两个客户端可发出相同 id,导致 A 收到 B 的工具结果或通知。修复于 10 月 2 日随 2.3.0 发布但 changelog 未标注为安全修复,升级后共享 server 的第二次 connect() 抛 ALREADYCONNECTED,顺序请求正常、重叠请求 500,本地测试测不出来。三种正确写法:createMcpHandler 每次返回新 server;请求处理器内新建 server+transport;用 sessionIdGenerator 按会话隔离。另有两条光升级不够的漏洞:CVE-2026-111771(bearer token 未校验 audience,需传 expectedResource)与 CVE-2026-104850(SDK OAuth 客户端 refreshtoken 可能发往任意授权服务器,需绑定 issuer 并轮换密钥)。受影响面:2.0.0 是上周 npm 下载量最高版本(820 万中的 356 万)。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →