FastMCP 的 MCP 客户端封装缺少 issuer 绑定,客户端密钥可被发往攻击者声明的授权服务器
FastMCP MCP client wrappers construct M2M OAuth providers without issuer binding — client secret redirectable to attacker-advertised authorization server
AI 导读
FastMCP 在 4.1.2 修复了 M2M OAuth 客户端封装缺少 issuer 绑定的漏洞,受影响的 fastmcp 与 fastmcp-slim 为 4.0.0a1 至 4.1.2 之前的版本。问题的根源在于 ClientCredentialsOAuthProvider 和 PrivateKeyJWTOAuthProvider 既不接受也不转发 issuer 参数,因此不可信或被攻陷的 MCP 服务器可以声明自己的授权服务器,拿到客户端密钥或签名断言后冒充客户端,而签名密钥本身仍留在本地。4.1.2 为这两个 provider 增加 issuer 参数并要求 MCP SDK 2.2.0,同时丢弃重新加载令牌中的刷新凭证,避免在发现 issuer 之前就传出凭证。
推荐理由
仅升级到 4.1.2 还不够,必须显式配置 issuer 才能挡住这类凭证泄露,部署 MCP OAuth 客户端的团队可据此排查。