무슨 일이 있었나
공식 Model Context Protocol Python SDK의 실험적 작업 관리 기능은 작업 작업을 생성한 세션에 바인딩하지 못해, 공유 MCP 서버에서 다른 클라이언트에 속한 작업을 쿼리, 결과 검색 또는 취소할 수 있는 모든 연결된 클라이언트를 허용했습니다.
왜 중요한가
MCP Python SDK는 많은 타사 MCP 서버가 구축한 참조 구현입니다. SDK 수준의 세션 간 작업/데이터 누수는 async 작업 기능을 사용자 데이터 처리에 사용하는 모든 에이전트 도구 서버에 걸친 생태계 전반의 피해 반경을 가집니다.
공격 경로
server.experimental.enable_tasks()에 의해 설치된 tasks/list, tasks/get, tasks/result 및 tasks/cancel의 기본 핸들러는 요청하는 세션이 해당 작업을 소유하는지 검증하지 않고 순수하게 작업 식별자에서만 작동하며, 한 클라이언트가 다른 클라이언트의 async 작업 결과를 보거나 취소할 수 있게 합니다.
영향받는 시스템
MCP Python SDK (PyPI의 mcp) 1.23.0 – 1.27.2
완화 방안
MCP Python SDK 1.27.2 이상으로 업그레이드하세요.