CVE-2026-5470 Overview
CVE-2026-5470 is a Server-Side Request Forgery (SSRF) vulnerability in the mixelpixx Google-Research-MCP project, an implementation of a Model Context Protocol (MCP) handler. The flaw resides in the extractContent function of src/services/content-extractor.service.ts. An attacker with low-privileged network access can manipulate the URL argument to force the server to issue arbitrary outbound HTTP requests. The exploit has been disclosed publicly. Because the project uses a rolling release model, no fixed version designation is available, and the vendor did not respond to disclosure attempts.
Critical Impact
Remote, authenticated attackers can coerce the MCP server into fetching attacker-controlled or internal-only URLs, enabling internal network reconnaissance and cloud metadata access through the content extraction service.
Affected Products
- mixelpixx Google-Research-MCP (rolling release)
- Affected commits: 1e062d7bd887bfe5f6e582b6cc288bb897b35cf2 and ca613b736ab787bc926932f59cddc69457185a83
- Component: Model Context Protocol Handler — src/services/content-extractor.service.ts
Discovery Timeline
- 2026-04-03 - CVE-2026-5470 published to NVD
- 2026-04-29 - Last updated in NVD database
Technical Details for CVE-2026-5470
Vulnerability Analysis
The vulnerability is classified under [CWE-918] Server-Side Request Forgery. The extractContent function accepts a user-supplied URL parameter and dispatches an outbound HTTP request without validating the target host, scheme, or address family. This allows an attacker to redirect server-side requests to arbitrary destinations, including loopback interfaces, internal IP ranges (RFC 1918), and cloud provider metadata endpoints such as 169.254.169.254.
The Google-Research-MCP project exposes research and content extraction tooling to AI agents through the Model Context Protocol. Because MCP handlers often run with broader network reachability than the calling agent, an SSRF here lets an attacker pivot the server's network position. The EPSS data lists this issue at 0.043%, reflecting limited exploitation telemetry, but a public proof-of-concept exists.
Root Cause
The root cause is missing input validation on the URL argument prior to invoking the HTTP client. The function does not enforce an allowlist of schemes or hosts, does not block private and link-local address ranges, and does not follow redirects safely. Any caller authorized to invoke the MCP tool can therefore steer requests to unintended internal services.
Attack Vector
The attack is initiated remotely over the network and requires low privileges, such as access to invoke the MCP tool. The attacker submits an MCP request that calls the content extraction tool with a crafted URL value, for example http://127.0.0.1:8080/admin, http://169.254.169.254/latest/meta-data/, or http://internal-host.local/. The server returns the fetched content to the caller, leaking internal responses. Refer to the GitHub issue report and VulDB entry #355074 for technical details. No verified exploit code is reproduced here.
Detection Methods for CVE-2026-5470
Indicators of Compromise
- Outbound HTTP requests from the Google-Research-MCP process to RFC 1918 ranges, loopback addresses, or cloud metadata endpoints such as 169.254.169.254.
- MCP tool invocations containing URL arguments referencing internal hostnames, localhost, or non-HTTP schemes like file:// and gopher://.
- Unexpected response payloads in MCP logs containing internal service banners, cloud IAM tokens, or administrative interface markup.
Detection Strategies
- Inspect MCP server logs for calls to extractContent and correlate the URL parameter against an allowlist of legitimate research targets.
- Deploy egress monitoring at the host or VPC level to flag outbound connections from the MCP host to private CIDR blocks and metadata IPs.
- Add static analysis rules for code repositories that flag HTTP client calls in content-extractor.service.ts lacking URL validation.
Monitoring Recommendations
- Forward MCP application logs and host network telemetry into a centralized analytics pipeline for correlation between tool invocations and outbound traffic.
- Alert on first-seen destinations from the MCP service and on any access to cloud instance metadata endpoints.
- Track MCP client identities and rate of extractContent calls per principal to surface abuse patterns.
How to Mitigate CVE-2026-5470
Immediate Actions Required
- Restrict network egress from the Google-Research-MCP host using firewall rules that deny traffic to RFC 1918 ranges, link-local addresses, and 169.254.169.254.
- Require authentication and authorization on the MCP endpoint, and limit which clients can invoke the content extraction tool.
- Audit recent MCP request logs for suspicious URL arguments targeting internal infrastructure.
Patch Information
No vendor patch is available. The maintainer did not respond to disclosure outreach, and the project follows a rolling release model with no fixed version identifier. Operators should apply local mitigations and consider forking the project to introduce URL validation in the extractContent function. Track the VulDB record for future fix references.
Workarounds
- Wrap the HTTP client in content-extractor.service.ts with a validator that resolves the hostname, rejects private and loopback addresses, and enforces an https scheme allowlist.
- Route outbound MCP traffic through an egress proxy that enforces a destination allowlist and strips requests to metadata services.
- Run the MCP service inside a network namespace or container with no route to internal management subnets or cloud metadata endpoints.
# Example egress restriction using iptables on the MCP host
iptables -A OUTPUT -m owner --uid-owner mcp -d 169.254.169.254 -j REJECT
iptables -A OUTPUT -m owner --uid-owner mcp -d 10.0.0.0/8 -j REJECT
iptables -A OUTPUT -m owner --uid-owner mcp -d 172.16.0.0/12 -j REJECT
iptables -A OUTPUT -m owner --uid-owner mcp -d 192.168.0.0/16 -j REJECT
iptables -A OUTPUT -m owner --uid-owner mcp -d 127.0.0.0/8 -j REJECT
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


