🇰🇷 한글 설명
pgEdge Postgres MCP Server의 1.1.0 이전 버전에서는 HTTP 전송 방식이 수신 요청의 Origin 헤더를 검증하지 않습니다. 공격자가 만든 페이지를 방문한 사용자를 대상으로 DNS 리바인딩 공격이 가능하며, 이를 통해 로컬에서 실행 중인 서버에 접근해 설정된 데이터베이스의 스키마와 쿼리 결과를 읽을 수 있습니다. 기본 stdio 전송 방식은 이 경로로 접근할 수 없어 영향을 받지 않으며, 이 문제는 1.1.0 버전에서 수정되었습니다.
💡 쉬운 설명
이 프로그램은 데이터베이스를 조회할 수 있게 해주는 도구입니다. 나쁜 웹사이트를 열면 그 사이트가 이 도구에 몰래 접속해 데이터베이스 내용을 훔쳐볼 수 있는 문제가 있습니다.
🇺🇸 원문 (English)
pgEdge Postgres MCP Server enables SQL queries against PostgreSQL databases through Model Context Protocol compatible clients. Prior to 1.1.0, the HTTP transport did not validate the Origin header on incoming requests. A user who visited an attacker-controlled page could be targeted through DNS rebinding, allowing the page to reach a locally running server and read schemas and query results from configured databases. The issue affected deployments with the HTTP transport enabled on a machine that also ran a browser, while the default stdio transport was not reachable through this path. This issue is fixed in version 1.1.0.
📍 영향받는 시스템
pgEdge Postgres MCP Server 1.1.0 미만 버전 중 HTTP 전송 방식을 사용하는 환경
⚔️ 공격 벡터
사용자가 공격자의 웹페이지를 방문하면 DNS 리바인딩을 통해 로컬 MCP 서버에 접근해 스키마와 쿼리 결과를 탈취
🛡️ 대응 방법
pgEdge Postgres MCP Server를 1.1.0 이상으로 업데이트하고, 불필요하면 HTTP 전송 방식을 비활성화하거나 기본 stdio 방식을 사용
🔧 검증 코드
출력된 버전이 1.1.0 미만이면 취약하므로 업데이트가 필요하며, 1.1.0 이상이거나 설치되어 있지 않으면 영향이 없습니다.
pip show pgedge-postgres-mcp 2>/dev/null | grep -i version || (dpkg -l | grep -i pgedge 2>/dev/null) || (command -v pgedge-postgres-mcp >/dev/null && pgedge-postgres-mcp --version 2>/dev/null)