CVE-2026-40351 json
FastGPT: NoSQL Injection in loginByPassword leads to Authentication Bypass
published 6mo ago modified 14d ago also EUVD-2026-23557
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 50%
- public exploits
- 0
- none known
Summary
FastGPT is an AI Agent building platform. In versions prior to 4.14.9.5, the password-based login endpoint uses TypeScript type assertion without runtime validation, allowing an unauthenticated attacker to pass a MongoDB query operator object (e.g., {"$ne": ""}) as the password field. This NoSQL injection bypasses the password check, enabling login as any user including the root administrator. This issue has been fixed in version 4.14.9.5.
Patch / fix
- fastgpt fastgpt 4.14.9.5
Is CVE-2026-40351 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 6mo ago
Exploit prediction
0.63% chance of exploitation in the next 30 days, higher than 50% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/labring/FastGPT/security/advisories/GHSA-x8mx-2mr7-h9xg referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected products
- labring FastGPT
Classification
- Weakness
-
- CWE-943 Improper Neutralization of Special Elements in Data Query Logic
References
-
github.com
/labring/FastGPT/commit/bd966d479fbe414d02679cf79f9eaaab3d100a2d
patch
-
github.com
/labring/FastGPT/security/advisories/GHSA-x8mx-2mr7-h9xg
exploit, mitigation, vendor-advisory
-
github.com
/labring/FastGPT/releases/tag/v4.14.9.5
product, release-notes
Sources
- CVE List CVE-2026-40351
- NVD CVE-2026-40351
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.