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

MCP TypeScript server SDK:共享 transport 或 server 实例将一个 HTTP 客户端的消息投递给另一个客户端

MCP TypeScript server SDK: Shared transport or server instances delivered one HTTP client's messages to another

AI 导读

GitHub 安全公告披露,@modelcontextprotocol/server 2.0.0 至 2.3.0 之前的版本在通过 HTTP 提供服务时,可能把一个客户端的响应和通知投递给另一个客户端。原因是消息仅按 JSON-RPC id 匹配连接,而 SDK 客户端从 0 开始编号请求,正常使用中 id 就会冲突;当多个客户端共用一个无状态 transport,或共用一个 McpServer 或 Server 实例时触发。修复版本为 2.3.0,且需要同时修改代码:用 createMcpHandler() 传入每次调用新建 McpServer 的工厂、在请求处理函数内按请求新建 server 与 transport,或设置 sessionIdGenerator 按会话各保留一个实例。

推荐理由

公告说明共享 transport 或 server 实例会让一个客户端的消息投递给另一个客户端,并给出按请求或按会话隔离的修复方式。

阅读原文github.com