Description
Mongoose is an embedded web server and network library. Priro to version 7.22, a remote unauthenticated attacker can send an HTTP request containing both Content-Length and Transfer-Encoding: chunked. The cl_count and te_count checks in the mg_http_parse() and http_cb() paths in src/http.c accept both headers and prioritize chunked encoding, while a Content-Length-preferring reverse proxy can use a different request boundary. This CL.TE desynchronization can inject requests that access or modify resources in another user context. This issue is fixed in version 7.22.
Affected products
cesanta: mongoose
References5
- github.com/cesanta/mongoose/security/advisories/GHSA-5wfq-r6mr-… ExploitVendor Advisory
- github.com/cesanta/mongoose/security/advisories/GHSA-5wfq-r6mr-… 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
- 1% percentile: 52 · 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.