무슨 일이 있었나
MySQL MCP Server의 SSE/HTTP 전송 모드는 Origin/Host 검증을 적용하는 데 필요한 보안 설정이 누락되어 있어 직접 또는 피해자의 브라우저에서 DNS 리바인딩 공격을 통해 백업 데이터베이스에 대한 인증되지 않은 원격 SQL 실행을 허용합니다.
왜 중요한가
MCP 데이터베이스 서버는 구조화된 데이터 액세스가 필요한 LLM 에이전트의 공통 통합 지점입니다; 이 널리 사용되는 커넥터의 인증되지 않은 SQL 실행 프리미티브 — 직접 또는 악의적인 웹 페이지에서 브라우저를 속여 DNS를 로컬 MCP 리스너로 리바인딩함으로써 도달 가능 — 공격자에게 완전한 데이터베이스 손상 경로와 상승된 MySQL 권한으로 호스트 수준 코드 실행 경로를 제공합니다.
공격 경로
MCP_TRANSPORT=sse가 설정될 때 서버는 security_settings 또는 enable_dns_rebinding_protection 없이 SseServerTransport를 구성하므로 MCP Python SDK의 Origin/Host 검증이 적용되지 않습니다. 원격의 인증되지 않은 공격자(직접 또는 악의적인 웹 페이지에서 DNS 리바인딩을 통해)는 노출된 MCP 서버에 SQL 쿼리를 제출할 수 있습니다; 충분한 MySQL 권한(예: FILE)을 사용하면 임의 파일 읽기/쓰기 및 잠재적 RCE로 확대될 수 있습니다.
영향받는 시스템
mysql-mcp-server(PyPI) 0.4.2 이전 버전
완화 방안
mysql-mcp-server 0.4.2 이상으로 업그레이드하세요. 이 버전은 SSE 모드에서 기본적으로 DNS 리바인딩/Origin-Host 보호를 활성화합니다. SSE/HTTP 노출 MCP MySQL 서버를 실행하는 운영자는 직접 인터넷에 접근할 수 없으며 CVSS 10.0 등급이 지정되었으므로 즉시 패치되어야 합니다.