CVE-2026-32871

CRITICAL CVSS 4.0: 10,0
Обновлено 2 апреля 2026
Fastmcp
Параметр Значение
CVSS 10,0 (CRITICAL)
Устранено в версии 3.2.0
Тип уязвимости CWE-918 (Подделка запросов на стороне сервера (SSRF))
Поставщик Fastmcp
Публичный эксплойт Нет

FastMCP — это Pythonic-способ создания серверов и клиентов MCP. До версии 3.2.0 OpenAPIProvider в FastMCP предоставляет внутренние API клиентам MCP путем анализа спецификаций OpenAPI. Класс RequestDirector отвечает за создание HTTP-запросов к внутренней службе.

В методе _build_url() существует уязвимость. Когда операция OpenAPI определяет параметры пути (например, /api/v1/users/{user_id}), система напрямую подставляет значения параметров в строку шаблона URL-адреса без кодирования URL-адреса. Впоследствии urllib.parse.urljoin() разрешает конечный URL.

Поскольку urljoin() интерпретирует последовательности ../ как обход каталога, злоумышленник, управляющий параметром пути, может выполнять атаки обхода пути, чтобы избежать предполагаемого префикса API и получить доступ к произвольным конечным точкам серверной части. Это приводит к аутентификации SSRF, поскольку запросы отправляются с заголовками авторизации, настроенными в поставщике MCP. Эта проблема исправлена ​​в версии 3.2.0.

Показать оригинальное описание (EN)

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.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Условия для атаки
Не требуются
Нет дополнительных условий
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v4.0

Связанные уязвимости