事件经过
已通过NVD REST API验证(发布于2026-10-14,CVSS 7.5)。官方Java SDK基于Servlet的SSE/Streamable HTTP/无状态传输未强制最大HTTP请求体大小;公告指出上游认证/Origin/Host验证或外部请求大小限制可缓解此问题。修复已包含在mcp-core 0.18.4/1.1.4/2.0.1中(GHSA-4x8c-5vv7-973f)。
影响分析
MCP服务器是AI代理的工具执行表面;远程未认证的内存耗尽崩溃会使调用该服务器的所有代理宕机。这是同一周官方MCP SDK DoS公告集群(Python SDK CVE-2026-109527、会话保留CVE-2026-59951,以及之前的mcp-go/Kotlin SDK)的Java对应项,表明所有官方MCP SDK传输栈存在系统性缺口——部署者应将请求大小限制视为SDK级要求。
攻击途径
未认证的远程客户端向受影响的Java MCP传输流式发送任意大的POST体(包括分块传输编码),端点将完整请求体读入内存且无大小限制,耗尽JVM堆并使MCP服务器崩溃(CWE-770)。
受影响系统
io.modelcontextprotocol.sdk:mcp-core 0.13.0–0.18.3、1.0.0–1.1.3、2.0.0-M1–2.0.0;io.modelcontextprotocol.sdk:mcp 0.8.0–0.12.0。已在mcp-core 0.18.4、1.1.4、2.0.1中修复。
缓解措施
升级至mcp-core 0.18.4 / 1.1.4 / 2.0.1。在上游强制请求大小限制/反向代理请求体限制,并将MCP端点置于认证之后。