事件经过
MCP OAuth登录流程信任服务器自身公告的受保护资源元数据作为RFC 8707资源指示器,并铸造/接收客户端未预期的资源范围的令牌。由于指示器未根据配置的服务器URL进行验证,恶意MCP服务器可获取同一授权服务器上不同资源的承载令牌并在那里重放。
影响分析
MCP服务器通常由AI智能体和编码工具添加,这些工具代表用户获取长期OAuth令牌。令牌混淆缺陷使恶意MCP服务器可外泄预期用于其他资源的凭据,从而实现对用户其他MCP端点/AI服务的未经授权访问。
攻击途径
两个实现都使用服务器提供的受保护资源元数据/well-known元数据作为RFC 8707资源指示器,而不检查其是否与配置的服务器URL匹配。恶意MCP服务器将不同资源(或另一个MCP服务器)声明为资源指示器,导致授权服务器为目标资源铸造承载令牌;攻击者随后将窃取的令牌重放到其他资源。
受影响系统
ChatCLI < v1.215.2(CVE-2026-123271);Mark3labs mcp-go < v1.2.1(CVE-2026-123272)
缓解措施
将ChatCLI升级到>=v1.215.2(GHSA-95vg-3r9c-2v5q),将Mark3labs mcp-go升级到>=v1.2.1(GHSA-xf6j-693p-wqxx)。验证客户端OAuth流程将预期资源指示器固定到配置的服务器URL。