何が起きたか
AuthSettingsとtoken_verifierで構成されたサーバー側ベアラー認証は、提示されたトークンのaudienceが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サーバーに対してaudience/リソースを検証することを確認してください。