🇰🇷 한글 설명
Model Context Protocol Python SDK의 1.8.0부터 1.30.0 및 2.2.0 이전 버전에서 streamable_http_client, sse_client, OAuth 등 클라이언트 경로가 리다이렉트를 따를 때 다른 출처로의 리다이렉트를 허용하여, 호출자가 지정한 사용자 정의 인증 헤더와 307/308 응답의 요청 본문이 외부로 전달될 수 있습니다. 1.30.0 및 2.2.0에서 수정되었습니다.
💡 쉬운 설명
MCP 클라이언트가 신뢰하는 서버의 리다이렉트 주소를 공격자가 조작할 수 있으면, 클라이언트가 보내는 인증 정보와 요청 내용이 공격자 서버로 넘어갈 수 있습니다. 이 SDK를 쓰는 경우 버전을 올려야 합니다.
🇺🇸 원문 (English)
The Model Context Protocol Python SDK is the official Python SDK for Model Context Protocol servers and clients. From 1.8.0 until 1.30.0 and 2.2.0, streamable_http_client, streamablehttp_client, sse_client, ClientSessionGroup, OAuth, and create_mcp_http_client client paths enable follow_redirects and follow redirects to a different origin, forwarding caller-supplied custom credential headers and, for 307 or 308 responses, the request body. An attacker who can influence a trusted endpoint's redirect destination can receive that material. This issue is fixed in versions 1.30.0 and 2.2.0.
📍 영향받는 시스템
mcp (Python SDK) 1.8.0 ~ 1.30.0 미만 및 2.0.0 ~ 2.2.0 미만
⚔️ 공격 벡터
신뢰하는 MCP 엔드포인트의 리다이렉트 대상을 조작해 다른 출처로 리다이렉트시켜 인증 헤더와 요청 본문을 탈취
🛡️ 대응 방법
mcp 패키지를 1.30.0 이상 또는 2.2.0 이상으로 업그레이드
🔧 검증 코드
출력된 버전이 1.8.0 이상 1.30.0 미만 또는 2.0.0 이상 2.2.0 미만이면 취약하며, 1.30.0 이상 또는 2.2.0 이상이면 패치된 상태입니다.
pip show mcp 2>/dev/null | grep -i '^version'