事件经过
VulnCheck 发布了针对官方 MCP Kotlin SDK ≤ 0.15.0 的 CVE-2026-108714(发布于 2026-10-11,CVSS v3.1 7.5 / v4.0 8.7,CWE-770):Application.mcpWebSocket 在未设置 maxFrameSize 限制的情况下安装 Ktor WebSockets,因此一个小的受控帧头可以通过几个连接触发数 GiB 的内存分配,从而使 MCP 服务器宕机。已通过 NVD REST API 验证。
影响分析
Kotlin SDK 为整个代理生态系统中的生产级 MCP 服务器提供支持;对 MCP 基础设施的未认证远程 DoS 攻击会使代理工具调用面离线,并可能使共享的模型服务/代理主机崩溃——这是对将 MCP 暴露于网络的代理部署的一种低成本可用性攻击。
攻击途径
远程未认证客户端向 MCP 服务器打开一个或几个 WebSocket 连接,并发送帧头声明负载接近 2 GiB 的帧(在 Ktor WebSocket 安装中未配置 maxFrameSize),强制进行大量堆分配并耗尽服务器内存。
受影响系统
MCP Kotlin SDK (io.modelcontextprotocol:kotlin-sdk-server) 至 0.15.0 版本
缓解措施
将 Kotlin MCP SDK 升级到 0.15.0 以上版本(或通过传输配置设置显式的 WebSocket maxFrameSize);将 MCP 端点置于具有请求体大小限制的认证/反向代理之后。公告:https://www.vulncheck.com/advisories/mcp-kotlin-sdk-through-0.15.0-memory-exhaustion-via-application-mcpwebsocket