무슨 일이 있었나
token_verifier로 구성된 AuthSettings를 통한 서버 측 베어러 인증은 제시된 토큰의 대상(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 서버에 대해 대상/리소스를 검증하도록 보장하세요.