FastGPT
CVE-2026-42345
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged user
-
DeliverySubmit encoded metadata URL to fetch feature
-
ExploitBypass startsWith() blocklist via URL encoding
-
ExecutionServer requests 169.254.169.254 with no internal-IP check
-
ImpactRetrieve cloud metadata/IAM credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires: (1) an authenticated FastGPT account with access to a feature that fetches a user-supplied URL (PR:L), (2) the target FastGPT instance running version 4.14.11 or earlier, and (3) the deployment sitting in an environment that actually exposes a reachable cloud metadata endpoint (e.g., AWS/GCP/Azure IMDS) for the SSRF to have high value. The specific bypass condition is that the isInternalAddress() guard uses a fullUrl.startsWith() prefix match, which is evaded by at least 7 URL-encoding representations of the metadata address; the reason no further check stops it is that CHECK_INTERNAL_IP defaults to false ('not true'), disabling isInternalIPv4/isInternalIPv6. Limiting factors that reduce real-world risk: authentication is needed (not unauthenticated), impact is largely confined to information disclosure (I:N/A:N), and operators who have explicitly set CHECK_INTERNAL_IP='true' or who run without any metadata service are substantially protected. |
| Impact | The provided CVSS is 7.7 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N): network-reachable, low complexity, requires low privileges, changed scope, high confidentiality impact, no integrity or availability impact - consistent with SSRF that reads cloud metadata (e.g., IAM credentials) but does not directly alter data. Real-world signals temper this: EPSS is 0.03% (8th percentile) and SSVC records Exploitation=none, Automatable=no, Technical Impact=partial, and there is no KEV listing and no POC referenced. These lower-tier signals align with each other and suggest this is a credible but not currently mass-exploited issue - a targeted, opportunity-dependent risk rather than a wormable one. One consistency note: PR:L is appropriate because reaching the URL-fetching feature generally requires an authenticated FastGPT user, and the 'no further validation by default' condition materially raises practical exploitability relative to the modest EPSS. The scope-change/confidentiality-high rating is justified primarily where FastGPT runs in a cloud environment (AWS/GCP/Azure/etc.) that actually exposes a metadata service; on-prem or metadata-less deployments see substantially reduced impact. |
| Exploit ScenarioDerived | An authenticated low-privileged FastGPT user submits a URL to a fetch/ingestion feature that points at the cloud metadata service but is wrapped in one of the several URL-encoding variants that slip past the startsWith() blocklist. FastGPT's server issues the request, and because CHECK_INTERNAL_IP defaults to false there is no private-IP fallback check, so the response - potentially including temporary IAM credentials - is returned to or usable by the attacker. No POC is publicly referenced, but the technique (encoded metadata SSRF) is well understood and low-complexity. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 23, 2026
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.
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.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
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.
Know when Fastgpt gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
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
DescriptionCVE.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.
Executive ViewAI
FastGPT deployments running version 4.14.11 and earlier are vulnerable to server-side request forgery, allowing low-privileged users to extract cloud credentials and secrets from metadata endpoints. This vulnerability is particularly critical for organizations running FastGPT in cloud environments (AWS, Azure, GCP) where metadata services expose sensitive authentication credentials. Immediate action is required to prevent potential compromise of cloud infrastructure access and downstream data exposure.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) enable CHECK_INTERNAL_IP configuration to 'true' to enforce private-IP address validation; (2) implement network-layer access controls blocking outbound connections to cloud metadata endpoints via firewall or WAF; (3) restrict FastGPT user permissions to minimum required privileges; (4) enable monitoring and alerting for anomalous or URL-encoded request patterns in application logs.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Affected Products (CPE)CVE.org
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
Channel hijack and denial of service in FastGPT (labring/FastGPT) before 4.15.2 lets an unauthenticated remote attacker
GitHub Actions artifact-poisoning (pwn request) in labring/FastGPT allows an external attacker who opens a pull request
Authentication bypass in FastGPT 4.15.0-beta4 lets unauthenticated remote attackers forge JWTs and access internal plugi
NoSQL injection in FastGPT versions before 4.14.9.5 allows authenticated attackers to bypass password verification on th
FastGPT versions 4.14.8.3 and below contain a critical arbitrary code execution vulnerability in the fastgpt-preview-ima
Cross-tenant file disclosure in FastGPT prior to v4.15.0-beta5 allows an attacker to read another team's stored files by
Cross-tenant data disclosure in FastGPT 4.14.17 through 4.15.0-beta5 lets a low-privileged tenant user read another tena
Server-side request forgery in FastGPT before 4.15.0-beta4 lets an authenticated team member abuse the HTTP-tool OpenAPI
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB