🇰🇷 한글 설명
mcp-searxng 1.7.1 미만 버전에서 발생하는 SSRF 취약점으로, 호스트 이름에 대한 불충분한 검증을 악용하여 내부 네트워크로의 접근이 가능합니다. 공격자는 조작된 호스트 이름을 통해 로컬 루프백, 링크 로컬 또는 클라우드 메타데이터 주소로 연결을 유도할 수 있습니다. 이를 통해 내부 서비스의 데이터를 읽거나 자격 증명을 탈취하고 내부 호스트를 스캔할 수 있습니다.
💡 쉬운 설명
AI 비서가 웹사이트 내용을 읽어오는 기능을 악용하여, 원래는 접근할 수 없는 회사의 내부 컴퓨터나 비밀 정보가 담긴 주소로 접속하게 만드는 공격입니다. 겉보기에는 정상적인 주소처럼 보이지만 실제로는 내부 네트워크로 연결되도록 속이는 방식입니다.
🇺🇸 원문 (English)
mcp-searxng is a Model Context Protocol server that gives AI assistants web search and URL-reading capabilities through SearXNG. Prior to 1.7.1, web_url_read receives its caller-controlled URL through src/index.ts and validates only the literal hostname in assertUrlAllowed() within src/url-reader.ts before undiciFetch() performs operating-system DNS resolution. A public-looking attacker-controlled hostname that resolves to a private, loopback, link-local, or cloud-metadata address therefore passes the lexical check and causes the MCP server to connect to the internal destination. In the default HTTP configuration, an unauthenticated network client can use this path to read internal services, expose credentials or service tokens, and enumerate reachable internal hosts; in STDIO deployments, prompt-influenced tool selection can provide the malicious URL. Direct private IP literals are blocked, and MCP_HTTP_ALLOW_PRIVATE_URLS remains an explicit opt-out. This issue is fixed in version 1.7.1.
📍 영향받는 시스템
mcp-searxng 1.7.1 미만 버전
⚔️ 공격 벡터
조작된 호스트 이름을 사용하여 내부 IP 또는 메타데이터 주소로 연결을 유도하는 SSRF 공격
🛡️ 대응 방법
mcp-searxng를 최신 버전인 1.7.1 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 1.7.1 미만인지 확인하십시오.
npm list mcp-searxng 2>/dev/null | grep -E 'mcp-searxng@'