🔍 CVE-2026-32871

10.0
CVSS Score
CRITICAL
2026-04-02
2026-07-15 02:20
✅ 완료

🇰🇷 한글 설명

FastMCP의 OpenAPIProvider가 OpenAPI 사양을 파싱할 때 경로 파라미터를 URL 인코딩 없이 처리하는 취약점이 존재합니다. 공격자는 경로 파라미터에 '../'와 같은 시퀀스를 삽입하여 의도된 API 경로를 벗어나 백엔드의 임의 엔드포인트에 접근할 수 있으며, 이는 인증된 SSRF 공격으로 이어집니다.

💡 쉬운 설명

주소창에 특수 문자를 넣어 원래는 들어갈 수 없는 내부의 비밀 페이지로 이동하는 취약점입니다. 이를 통해 공격자가 서버의 권한을 도용해 내부의 민감한 데이터에 접근할 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

FastMCP 3.2.0 미만 버전

⚔️ 공격 벡터

OpenAPI 경로 파라미터에 경로 조작 문자열(Path Traversal)을 삽입하여 내부 API 호출

🛡️ 대응 방법

FastMCP를 3.2.0 버전 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전 숫자가 3.2.0보다 낮으면 취약한 상태입니다.

Shell / Script
pip show fastmcp | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

Python