CVE-2026-80347 in mcp-fetch
요약
\~에 의해 VulDB • 2026. 08. 26.
mcp-fetch는 IPv6 리터럴을 감싸고 있는 대괄호를 제거하지 않은 채 SSRF 가드와 비교합니다. isSafeUrl은 파싱된 URL에서 호스트명을 읽는데, http://[::1]/과 같은 리터럴의 경우 대괄호가 포함된 문자열이 반환되며, 이는 net.isIP로 테스트됩니다. 이 호출은 대괄호 값에 대해 0을 반환하므로 프라이빗 주소 확인을 수행하는 분기가 완전히 건너뜁니다. 가드는 호스트명 해결로 폴백되지만, 대괄호를 포함한 문자열은 해석 가능한 이름이 아니므로 주소를 반환하지 않으며 대상이 안전하다고 보고됩니다. 이후 HTTP 클라이언트는 대괄호를 제거하고 연결합니다. 주소가 IPv4 매핑 형식으로 제공될 수 있으므로, 동일한 경로를 통해 루프백 및 프라이빗 체크에서 제외하려는 모든 IPv4 대상(링크 로컬 메타데이터 엔드포인트 포함)에 접근할 수 있습니다. isPrivateIPv6에도 ::ffff: 접두사에 대한 처리 사례가 없으므로, 대괄호가 제거되더라도 매핑된 형식은 여전히 통과합니다. fetch 대상은 도구 인수로 제공되므로 모델이 요청하는 내용을 영향을 줄 수 있는 공격자는 내부 응답을 모델 컨텍스트로 다시 읽어들일 수 있습니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.