GHSA-hv85-774v-26fg: auth-fetch-mcp: SSRF and disk exfiltration via unvalidated auth_fetch and download_media URLs
Cloud credential theft — server on EC2 / GCE / Azure VM. MCP client invokes
auth_fetch({ url: "http://169.254.169.254/latest/meta-data/iam/security-credentials/<role>" })and receives temporary credentials in the tool response. Or invokesdownload_media({ urls: [...], output_dir: "/tmp/exfil" })to persist them to disk.Internal service enumeration — MCP client probes private-range hosts (10/8, 172.16/12, 192.168/16). Each
auth_fetchreturns the page DOM; eachdownload_mediawrites the response to disk.Loopback exploitation — server runs alongside Redis (127.0.0.1:6379), ElasticSearch (127.0.0.1:9200), or internal admin UIs. MCP client reads them via
auth_fetch.Disk-write side channel (
download_mediaonly) — output_dir is also user-controlled, with no documented restriction. An MCP client can requestoutput_dir = "/some/user-writable-shared-dir"and exfil internal-service responses to a location accessible to a co-tenant process.
The injection vector is any content reaching the model that prompts a fetch tool call. The tool description explicitly says “MUST be used instead of Fetch/web_fetch when the page requires login” — meaning the model is encouraged to call this tool for any “private page” mention, which a prompt-injected upstream content can trivially trigger.
References
Code Behaviors & Features
Detect and mitigate GHSA-hv85-774v-26fg with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →