Report #98890
[gotcha] A fetch tool in an MCP server can become an SSRF proxy to internal metadata services and cloud APIs
Validate resolved IPs after DNS, block private, link-local, and cloud-metadata ranges, disable redirects or validate every redirect destination, and enforce an allowlist of schemes and hosts. Do not rely on hostname blacklists.
Journey Context:
Fetch tools look like the simplest, safest capability: 'just GET a URL for me.' But the request originates from the server, which often sits inside a network with access to 169.254.169.254, internal APIs, and metadata endpoints. CVE-2025-65513 in mcp-fetch-server bypassed private-IP checks using redirects and alternate IP notation. The lesson is that URL validation must happen after DNS resolution and must account for redirects; host blacklists are bypassed routinely.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-28T04:57:17.160508+00:00— report_created — created