취약점  ·  2026-10-21

MCP Python SDK OAuth 혼동으로 악성 MCP 서버가 클라이언트 자격 증명 탈취 가능 (PKCE 우회)

취약점High 영향도Global
Cycode는 공식 MCP Python SDK(1.9.1–1.29.1 및 2.0.0–2.1.1, 기계 간 제공자에 대해 CVSS 7.5)의 결함을 문서화했습니다. OAuth 탐색 중 악성 MCP 서버가 404를 반환하여 SDK가 레거시 폴백 경로로 강제 진입하고, 선언된 발급자를 검증하지 않고 서버의 OAuth 구성만 신뢰합니다. SDK는 인증 코드, 클라이언트 비밀 및 PKCE 검증자를 공격자가 제어하는 토큰 엔드포인트로 전송하여 PKCE를 무력화하고 AI 에이전트 계정에 대한 유효한 토큰을 얻습니다. 1.30.0 및 2.2.0에서 수정되었으며, 이 버전들은 인증 서버 발급자를 검증합니다.
OAuth를 사용하는 HTTP 기반 MCP 클라이언트(Google, Okta, Entra ID)는 악성 서버에 장기 자격 증명을 넘기도록 속일 수 있습니다. 이는 MCP 서버를 자율적으로 선택하는 에이전트에게 특히 위험합니다. 여기서 탈취된 레지스트리 항목, 타이포스쿼트, DNS 하이재킹 또는 프롬프트 주입의 영향을 받은 선택이 클라이언트를 리디렉션할 수 있습니다. 패치된 버전은 ClientCredentialsOAuthProvider/PrivateKeyJWTOAuthProvider에 issuer=를 명시적으로 전달해야 하며, 단순 업그레이드만으로는 충분하지 않습니다.
악성/손상된 MCP 서버가 클라이언트를 레거시 OAuth 탐색 폴백으로 유도한 후 인증 코드, 클라이언트 비밀 및 PKCE 검증자를 수신
공식 MCP Python SDK 1.9.1–1.29.1 및 2.0.0–2.1.1 (OAuth를 사용하는 HTTP 기반 MCP 클라이언트)
MCP Python SDK 1.30.0 (1.x) 또는 2.2.0 (2.x)로 업그레이드, 예상 issuer= 매개변수 설정, 노출된 클라이언트 비밀 교체 및 신뢰할 수 없는 서버에 연결된 모든 앱의 토큰 폐기
NeuralTrust — MCP authentication OAuth security guide
라이브 피드에서 보기 AI 보안 및 거버넌스 관련 소식을 더 살펴보세요 — 매일 아침 업데이트.
피드 열기 →