Description
The proxy middleware in mcp-use's inspector forwards requests to a destination the caller names. mountMcpProxy in libraries/typescript/packages/inspector/src/server/proxy/mcp-proxy.ts read the target from the X-Target-URL header or the __mcp_target parameter and proxied to it without inspecting the host, so loopback, link-local and private addresses were all accepted, as were names that resolve to them, and the validation was not reapplied to a redirect the destination returned. A caller could therefore make the server issue requests to addresses reachable only from the host it runs on and read the responses. The current code calls isSafeProxyTarget, which checks the resolved address against private, loopback and link-local ranges before proxying and bounds the number of redirects followed.
Published: 2026-08-27
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Server‑Side Request Forgery leading to internal data exposure
Action: Immediate Patch
AI Analysis

Impact

The proxy middleware in mcp-use's inspector forwards any destination specified by the caller via the X-Target-URL header or the "__mcp_target" parameter. Because it does not inspect or validate the host, loopback, link‑local, and private address ranges are all accepted. The proxy also does not re‑apply the validation when following redirects, allowing the target to redirect to an internal address. As a result, an attacker can instruct the server to reach resources that are only accessible from the host, and the attacker can read the responses, exposing internal data or services.

Affected Systems

The vulnerability affects the mcp-use product, specifically the inspector proxy component implemented in the TypeScript library. No specific version range is listed in the CVE data; therefore any installation of mcp-use that includes the unvalidated proxy code is potentially affected.

Risk and Exploitability

The vulnerability scores a CVSS of 8.7, which places it in the high‑severity range. The EPSS score is not available, but the lack of a KEV listing suggests it has not yet been widely exploited publicly. The attack vector is inferred to be a remote HTTP request to the proxy endpoint, using the caller‑supplied X-Target-URL header or query parameter. Successful exploitation would allow read access to internal, potentially sensitive, resources, with the impact of confidentiality breach and possible further lateral movement. Administrators should consider the high risk and apply remediation promptly.

Generated by OpenCVE AI on August 27, 2026 at 18:18 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to the latest mcp-use release that includes the isSafeProxyTarget validation
  • Configure network firewall rules to block outbound connections from the server to internal IP ranges (e.g., 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 169.254.0.0/16) to prevent inadvertent internal access
  • Restrict or remove the X-Target-URL header and __mcp_target query parameter from public API endpoints, limiting proxies to externally reachable URLs only
  • Implement application‑level validation to ensure that requested URLs belong to approved domains and reject any URLs that resolve to private or loopback addresses

Generated by OpenCVE AI on August 27, 2026 at 18:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 28 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
First Time appeared Mcp-use
Mcp-use mcp-use
Vendors & Products Mcp-use
Mcp-use mcp-use

Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 27 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Description The proxy middleware in mcp-use's inspector forwards requests to a destination the caller names. mountMcpProxy in libraries/typescript/packages/inspector/src/server/proxy/mcp-proxy.ts read the target from the X-Target-URL header or the __mcp_target parameter and proxied to it without inspecting the host, so loopback, link-local and private addresses were all accepted, as were names that resolve to them, and the validation was not reapplied to a redirect the destination returned. A caller could therefore make the server issue requests to addresses reachable only from the host it runs on and read the responses. The current code calls isSafeProxyTarget, which checks the resolved address against private, loopback and link-local ranges before proxying and bounds the number of redirects followed.
Title mcp-use Inspector Proxy Server-Side Request Forgery via Caller-Supplied Target URL
Weaknesses CWE-918
References
Metrics cvssV3_1

{'score': 8.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N'}

cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-29T11:48:07.418Z

Reserved: 2026-08-26T16:00:30.592Z

Link: CVE-2026-81091

cve-icon Vulnrichment

Updated: 2026-08-27T18:12:20.653Z

cve-icon NVD

Status : Received

Published: 2026-08-27T17:20:51.183

Modified: 2026-08-27T20:18:49.180

Link: CVE-2026-81091

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T16:14:38Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)