CVE-2026-32871
CVE-2026-32871 is a critical-severity vulnerability in Jlowin Fastmcp with a CVSS 3.x base score of 10.0. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-918.
Key facts
- Severity: Critical (CVSS 3.x base score 10.0)
- CVSS v4: 10.0
- EPSS exploit prediction: 1% (58th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-18250
- Weakness: CWE-918
- Affected product: Jlowin Fastmcp
- Published:
- Last modified:
Description
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.
Frequently asked questions
- What is 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.
- How severe is CVE-2026-32871?
- CVE-2026-32871 has a CVSS 3.x base score of 10.0, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2026-32871 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (58th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-32871?
- CVE-2026-32871 affects Jlowin Fastmcp. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-32871?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- Does CVE-2026-32871 have an EU (EUVD) identifier?
- Yes. CVE-2026-32871 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-18250.
- When was CVE-2026-32871 published?
- CVE-2026-32871 was published on 2026-04-02 and last updated on 2026-06-30.
References
- https://github.com/PrefectHQ/fastmcp/commit/40bdfb6b1de0ce30609ee9ba5bb95ecd04a9fb71
- https://github.com/PrefectHQ/fastmcp/pull/3507
- https://github.com/PrefectHQ/fastmcp/releases/tag/v3.2.0
- https://github.com/PrefectHQ/fastmcp/security/advisories/GHSA-vv7q-7jx5-f767
- https://access.redhat.com/security/cve/CVE-2026-32871
- https://bugzilla.redhat.com/show_bug.cgi?id=2454434
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-32871.json
Affected products (1)
- cpe:2.3:a:jlowin:fastmcp:*:*:*:*:*:*:*:*
More vulnerabilities in Jlowin Fastmcp
- CVE-2025-62801 — High (CVSS 7.8): FastMCP is the standard framework for building MCP applications. Versions prior to 2.13.0, a command-injection…
- CVE-2025-64340 — Medium (CVSS 6.7): FastMCP is the standard framework for building MCP applications. Prior to version 3.2.0, server names containing shell…
- CVE-2025-69196 — Medium (CVSS 6.5): FastMCP is the standard framework for building MCP applications. Prior to version 2.14.2, the server does not properly…
- CVE-2026-27124 — Medium (CVSS 6.1): FastMCP is the standard framework for building MCP applications. Prior to version 3.2.0, while testing the…
- CVE-2025-62800 — Medium (CVSS 6.1): FastMCP is the standard framework for building MCP applications. Versions prior to 2.13.0 have a reflected cross-site…
All CVEs affecting Jlowin Fastmcp →
Other CWE-918 (Server-Side Request Forgery (SSRF)) vulnerabilities
- CVE-2026-47938 — Critical (CVSS 10.0): Adobe Campaign Classic (ACC) versions 7.4.3 build 9394 and earlier are affected by a Server-Side Request Forgery (SSRF)…
- CVE-2026-35431 — Critical (CVSS 10.0): Server-side request forgery (ssrf) in Microsoft Entra ID Entitlement Management allows an unauthorized attacker to…
- CVE-2026-32186 — Critical (CVSS 10.0): Server-side request forgery (ssrf) in Microsoft Bing allows an unauthorized attacker to elevate privileges over a…
- CVE-2026-33107 — Critical (CVSS 10.0): Server-side request forgery (ssrf) in Azure Databricks allows an unauthorized attacker to elevate privileges over a…
- CVE-2026-32169 — Critical (CVSS 10.0): Server-side request forgery (ssrf) in Azure Cloud Shell allows an unauthorized attacker to elevate privileges over a…
- CVE-2025-59503 — Critical (CVSS 10.0): Server-side request forgery (ssrf) in Azure Compute Gallery allows an unauthorized attacker to elevate privileges over…
Browse all CWE-918 (Server-Side Request Forgery (SSRF)) vulnerabilities →