Description
Mongoose is an embedded web server and network library. Prior to 7.22, a remote unauthenticated attacker can exploit an HTTP/1.0 reverse-proxy deployment by sending a request with Transfer-Encoding: chunked and conflicting framing. The http_cb() function in src/http.c tests hm.proto.len with an impossible greater-than-eight condition even though mg_http_parse() requires an eight-byte protocol string, so is_http_1_0 is never set. Mongoose consequently processes chunked encoding that an HTTP/1.0 proxy can ignore, enabling request smuggling and unauthorized access or state changes. This issue is fixed in version 7.22.
Affected products
cesanta: mongoose
References4
- github.com/cesanta/mongoose/security/advisories/GHSA-mgp5-rjrv-… 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
-
9.1
CRITICAL
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N - EPSS — exploit probability
- 0% percentile: 38 · as of 10 November 2026
- CWE
- CWE-444
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.