事件经过
VulnCheck 发布了针对 mark3labs/mcp-go ≤ 1.2.1 的 CVE-2026-108859(发布于 2026-10-11,CVSS v3.1 7.5 / v4.0 8.7,CWE-770):ServeHTTP 在验证之前完整且无限制地读取请求体,因此远程攻击者可以通过有大小或并发的 POST 请求使服务器性能下降或被 OOM 杀死。已通过 NVD REST API 验证。
影响分析
mcp-go 是 Go 中最常用的 MCP 服务器 SDK 之一;未认证的远程 DoS 攻击打击了代理工具调用层。默认需要认证的 MPI 服务器在 HTTP 层在认证前仍然可访问,因此暴露在网络中意味着对代理基础设施的一种低成本可用性攻击。
攻击途径
远程未认证攻击者向 StreamableHTTPServer 发送任意大或大量并发的 POST 请求体,该服务器在任何大小验证之前通过 io.ReadAll 读取完整请求体,从而耗尽内存。
受影响系统
github.com/mark3labs/mcp-go 至 1.2.1 版本
缓解措施
将 mcp-go 升级到 1.2.1 以上版本和/或在 MCP 服务器前面的反向代理处强制执行请求大小限制。公告:https://www.vulncheck.com/advisories/mcp-go-through-1.2.1-denial-of-service-via-unbounded-post-body-buffering