Model Context Protocol Python SDK:服务端 Bearer 令牌认证接受为其他资源服务器签发的令牌
Model Context Protocol Python SDK: Server bearer-token authentication accepts tokens issued for a different resource server
AI 导读
Model Context Protocol(MCP)Python SDK 发布安全公告(GHSA-w4fh-qvv9-3v23,CVE-2026-116684),其服务端 Bearer 令牌认证在受影响版本中无法校验令牌的受众(audience),当同一授权服务器为多个服务签发令牌时,为其他服务签发的有效令牌也会被 MCP 服务器接受。受影响版本为 mcp 1.10.0 及以上、1.30.0 之前,以及 2.0.0 及以上、2.2.0 之前,已在 1.30.0 和 2.2.0 修复。公告强调仅升级不会启用校验,新增的 validate_token_resource 设置默认关闭,需在 AuthSettings 中开启并配置 resource_server_url,同时在 verify_token() 中返回令牌受众,只做前一步会导致所有请求返回 401。
推荐理由
公告指出仅升级不会启用令牌受众校验,需同时开启 validate_token_resource 并在 verify_token 返回受众,部署 MCP 服务端的团队可据此自查授权配置。