FastGPT
CVE-2026-42345
HIGH
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Authenticated user (PR:L) triggers a low-complexity network SSRF; scope changes to the metadata service (S:C) yielding credential disclosure (C:H) with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Lifecycle Timeline
2DescriptionCVE.org
FastGPT is an AI Agent building platform. In versions 4.14.11 and prior, FastGPT's isInternalAddress() function in packages/service/common/system/utils.ts blocks cloud metadata endpoints using a fullUrl.startsWith() check against a hardcoded list. This check can be bypassed using at least 7 different URL encoding techniques, all of which resolve to the same cloud metadata service but do not match the blocklist patterns. Additionally, the broader private IP check (isInternalIPv4/isInternalIPv6) is disabled by default because CHECK_INTERNAL_IP defaults to false (not 'true'), so these bypasses reach the metadata endpoint without any further validation. At time of publication, there are no publicly available patches.
AnalysisAI
Server-side request forgery in FastGPT (labring) versions 4.14.11 and prior lets a low-privileged user coerce the server into reaching cloud metadata endpoints by defeating the isInternalAddress() blocklist with URL-encoding tricks. The check relies on a fragile fullUrl.startsWith() comparison that at least 7 encoding variants evade, and the deeper private-IP guard is off by default (CHECK_INTERNAL_IP is not 'true'), so requests reach 169.254.169.254-style services unfiltered. There is no public exploit identified at time of analysis, EPSS is negligible (0.03%), and no vendor patch is yet available.
Technical ContextAI
FastGPT is a TypeScript/Node.js AI-agent building platform that fetches user-supplied URLs (e.g., for knowledge ingestion, web reading, or webhook-style features). The vulnerable control is isInternalAddress() in packages/service/common/system/utils.ts, which is meant to stop SSRF (CWE-918, Server-Side Request Forgery) by rejecting known-dangerous hosts. Instead of resolving and normalizing the target, it does a literal fullUrl.startsWith() match against a hardcoded blocklist of metadata endpoints - a string-prefix approach that ignores URL encoding, alternate host representations, and canonicalization. Because the same metadata IP can be expressed in many encodings that all resolve identically at the network layer but differ as raw strings, the prefix match is trivially bypassed. The secondary defense (isInternalIPv4/isInternalIPv6) that would block RFC1918 and link-local ranges is gated behind the CHECK_INTERNAL_IP environment flag, which defaults to false, leaving the encoding-bypass path with no downstream validation. The affected package per CPE is cpe:2.3:a:labring:fastgpt.
RemediationAI
No vendor-released patch identified at time of analysis (the advisory states no public patches exist yet), so apply compensating controls and monitor GHSA-jhqw-944x-xh94 (https://github.com/labring/FastGPT/security/advisories/GHSA-jhqw-944x-xh94) for a fixed release. As the most direct mitigation, set the CHECK_INTERNAL_IP environment variable to the string 'true' to enable the isInternalIPv4/isInternalIPv6 private/link-local blocking path - trade-off: this can break legitimate internal integrations that intentionally call private hosts, so inventory those first. At the network layer, block egress from the FastGPT server to 169.254.169.254 (and IPv6 fd00:ec2::254) and to RFC1918 ranges, or enforce IMDSv2 with a hop limit of 1 on AWS to neutralize credential theft even if the request reaches metadata - trade-off: egress filtering may disrupt features that fetch internal resources. Where feasible, front outbound fetches with an allowlist proxy that resolves and validates the final IP after decoding. Restrict who can submit fetch/URL-ingestion actions since exploitation requires an authenticated (PR:L) account. Do not rely on the current isInternalAddress() startsWith() blocklist, as it is the defeated control.
FastGPT is an AI Agent building platform. Prior to version 4.9.12, the LastRoute Parameter on login page is vulnerable t
Unauthenticated HTTP proxy abuse in FastGPT (AI Agent platform) prior to v4.14.9.5 allows remote attackers to relay arbi
Remote code execution in FastGPT's agent-sandbox component (versions 4.14.10 through 4.14.12) lets any network-adjacent,
NoSQL injection in FastGPT <4.14.9.5 password authentication allows unauthenticated remote attackers to bypass login con
GitHub Actions artifact-poisoning (pwn request) in labring/FastGPT allows an external attacker who opens a pull request
NoSQL injection in FastGPT versions before 4.14.9.5 allows authenticated attackers to bypass password verification on th
Authentication bypass in FastGPT 4.15.0-beta4 lets unauthenticated remote attackers forge JWTs and access internal plugi
Cross-tenant file disclosure in FastGPT prior to v4.15.0-beta5 allows an attacker to read another team's stored files by
Server-side request forgery in FastGPT before 4.15.0-beta4 lets an authenticated team member abuse the HTTP-tool OpenAPI
Server-Side Request Forgery in Labring FastGPT prior to 4.15.0-beta1 lets an authenticated attacker bypass the platform'
Server-Side Request Forgery (SSRF) in FastGPT's Model Context Protocol (MCP) tools endpoints allows authenticated attack
Cross-tenant data disclosure in FastGPT 4.14.17 through 4.15.0-beta5 lets a low-privileged tenant user read another tena
Same weakness CWE-918 – Server-Side Request Forgery (SSRF)
View allShare
External POC / Exploit Code
Leaving vuln.today