🇰🇷 한글 설명
MCP Python SDK(mcp)의 SSE 및 상태 유지 HTTP 전송 방식에서 세션 ID만으로 기존 세션에 접근할 수 있는 취약점이 발견되었습니다. 인증된 사용자가 세션 ID를 알 경우, 해당 세션에 JSON-RPC 메시지를 주입하여 권한을 탈취하거나 조작할 수 있습니다. 이 문제는 1.27.2 버전에서 수정되었습니다.
💡 쉬운 설명
로그인한 사용자가 다른 사람의 세션 번호만 알면 그 사람의 대화나 명령에 몰래 끼어들 수 있는 보안 구멍입니다. 공격자가 가짜 명령을 보내 시스템을 조작할 위험이 있습니다.
🇺🇸 원문 (English)
The MCP Python SDK, called mcp on PyPI, is a Python implementation of the Model Context Protocol (MCP). Prior to 1.27.2, the SSE and stateful Streamable HTTP transports mcp.server.sse.SseServerTransport and mcp.server.streamable_http_manager.StreamableHTTPSessionManager route requests to existing sessions using only the session_id query parameter or Mcp-Session-Id header without verifying the authenticated principal that created the session, allowing a different bearer-token-authenticated client with a known session ID to inject JSON-RPC messages into that session. This issue is fixed in version 1.27.2.
📍 영향받는 시스템
MCP Python SDK (PyPI: mcp) 1.27.2 미만 버전
⚔️ 공격 벡터
알려진 session_id 또는 Mcp-Session-Id 헤더를 사용하여 인증된 다른 세션에 JSON-RPC 메시지 주입
🛡️ 대응 방법
MCP Python SDK를 최신 버전인 1.27.2 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 Version이 1.27.2보다 낮으면 취약한 상태이며, 1.27.2 이상이면 안전합니다.
pip show mcp 2>/dev/null | grep -E 'Version'