Description
Mongoose is an embedded web server and network library. Prior to 7.22, a remote attacker can place a lone carriage return or line feed in multipart input processed by mg_http_next_multipart() in src/http.c. The loops comparing s[b] and s[b + 1], and s[h2] and s[h2 + 1], use an incorrect AND condition and stop when either character resembles part of a CRLF terminator. This truncates headers, filenames, or boundaries and can cause an application to accept dangerous content after seeing a misleading Content-Type value. This issue is fixed in version 7.22.
Affected products
cesanta: mongoose
References5
- github.com/cesanta/mongoose/security/advisories/GHSA-cc55-8v3r-… ExploitVendor Advisory
- github.com/cesanta/mongoose/security/advisories/GHSA-cc55-8v3r-… ExploitVendor Advisory
- github.com/cesanta/mongoose/commit/a9df523f76f43a38bd53b4232b9c… Patch
- github.com/cesanta/mongoose/pull/3611 Issue TrackingPatch
- github.com/cesanta/mongoose/releases/tag/7.22 Release Notes
Metrics
- CVSS 3.1
-
6.5
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - EPSS — exploit probability
- 0% percentile: 40 · as of 10 November 2026
- CWE
- CWE-697
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.