跳到正文
原文
GitHub 安全公告·本站收录· 原文发表精选关注度40

MCP Python SDK:StreamableHTTP 传输无界会话累积导致资源耗尽

MCP Python SDK: Unbounded Session Accumulation in StreamableHTTP Transport Enables Resource Exhaustion

AI 导读

MCP Python SDK 的 Streamable HTTP 有状态模式存在会话状态不回收的漏洞,可被普通短请求耗尽服务器内存。公告称受影响的是 1.30.0 之前的 1.8.0 及更高版本,以及 2.2.0 之前的 2.0.0 及更高版本,修复版本为 1.30.0 和 2.2.0。漏洞源于会话不设过期、客户端 DELETE 只结束会话却保留注册条目、首个请求被拒的会话仍带运行任务驻留,且会话数量无上限,每个会话还保留解析后的 initialize 参数,只有重启才能回收。修复版本加入 session_idle_timeout(默认 1800 秒)与 max_sessions(默认 10000)两个参数,超时或超限分别返回 404 和 503;存活会话仍保留 initialize 参数,约为 4 MiB 请求体上限的两倍。无法升级时可改用无状态模式或限制端点访问。

推荐理由

该公告列出 MCP Python SDK 受影响的版本区间与修复版本,自建 Streamable HTTP 服务器的团队可据此判断是否需要升级或改用无状态模式。

阅读原文github.com