事件经过
官方 Model Context Protocol Python SDK 的实验性任务管理功能未能将任务操作绑定到创建它们的会话,让任何连接的客户端查询、检索属于共享 MCP 服务器上其他客户端的任务结果或取消这些任务。
影响分析
MCP Python SDK 是许多第三方 MCP 服务器构建的参考实现;SDK 级别的跨会话任务/数据泄露对任何使用异步任务功能处理用户数据的代理工具服务器都有生态系统范围的影响。
攻击途径
由 server.experimental.enable_tasks() 安装的 tasks/list、tasks/get、tasks/result 和 tasks/cancel 的默认处理程序完全基于任务标识符操作,不验证请求会话是否拥有该任务,允许一个客户端查看或取消另一个客户端的异步任务结果。
受影响系统
MCP Python SDK (PyPI 上的 mcp) 1.23.0 – 1.27.2
缓解措施
升级到 MCP Python SDK 1.27.2 或更高版本。