事件经过
通过AuthSettings配置的token_verifier进行服务器端Bearer认证,未能验证所呈现令牌的受众是否与MCP服务器资源匹配,因此为另一个依赖方铸造的凭证被接受。这是一个跨服务资源混淆/授权一致性缺陷(CWE-863,CVSS 6.8)。
影响分析
MCP是标准的代理工具传输;令牌混淆缺陷允许持有者认证到他们从未被授权的MCP服务器,并行使该会话的工具访问权限——这是提示注入或其他特权代理达到超出其授权范围的MCP工具的路径。
攻击途径
当授权服务器服务多个资源且TokenVerifier未独立验证aud声明时,为一项服务签发的有效令牌被接受用于认证到不同的MCP服务器,使令牌持有者能在错误的服务器上行使该令牌的访问权限。
受影响系统
MCP Python SDK >= 1.10.0,< 1.30.0 和 >= 2.0.0,< 2.2.0
缓解措施
升级到MCP Python SDK 1.30.0或2.2.0(GHSA-w4fh-qvv9-3v23);确保token_verifier根据特定MCP服务器验证受众/资源。