CVE-2026-32871

FastMCP is a Pythonic way to build MCP servers and clients. Prior to version 3.2.0, the OpenAPIProvider in FastMCP exposes internal APIs to MCP clients by parsing OpenAPI specifications. The RequestDirector class is responsible for constructing HTTP requests to the backend service. A vulnerability exists in the _build_url() method. When an OpenAPI operation defines path parameters (e.g., /api/v1/users/{user_id}), the system directly substitutes parameter values into the URL template string without URL-encoding. Subsequently, urllib.parse.urljoin() resolves the final URL. Since urljoin() interprets ../ sequences as directory traversal, an attacker controlling a path parameter can perform path traversal attacks to escape the intended API prefix and access arbitrary backend endpoints. This results in authenticated SSRF, as requests are sent with the authorization headers configured in the MCP provider. This issue has been patched in version 3.2.0.
Configurations

Configuration 1 (hide)

cpe:2.3:a:jlowin:fastmcp:*:*:*:*:*:*:*:*

History

26 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) FastMCP es una forma Pythonic de construir servidores y clientes MCP. Antes de la versión 3.2.0, el OpenAPIProvider en FastMCP expone APIs internas a clientes MCP al analizar especificaciones OpenAPI. La clase RequestDirector es responsable de construir solicitudes HTTP al servicio de backend. Existe una vulnerabilidad en el método _build_url(). Cuando una operación OpenAPI define parámetros de ruta (p. ej., /api/v1/users/{user_id}), el sistema sustituye directamente los valores de los parámetros en la cadena de la plantilla URL sin codificación URL. Posteriormente, urllib.parse.urljoin() resuelve la URL final. Dado que urljoin() interpreta las secuencias .. / como salto de directorio, un atacante que controla un parámetro de ruta puede realizar ataques de salto de ruta para escapar del prefijo de API previsto y acceder a puntos finales de backend arbitrarios. Esto resulta en SSRF autenticado, ya que las solicitudes se envían con los encabezados de autorización configurados en el proveedor MCP. Este problema ha sido parcheado en la versión 3.2.0.

Information

Published : 2026-04-02 15:16

Updated : 2026-10-26 21:10


NVD link : CVE-2026-32871

Mitre link : CVE-2026-32871

CVE.ORG link : CVE-2026-32871


JSON object : View

Products Affected

jlowin

  • fastmcp
CWE
CWE-918

Server-Side Request Forgery (SSRF)