CVE-2026-73256: Mongoose: HTTP/1.0 detection off-by-one enables request smuggling via chunked TE
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 httpcb() function in src/http.c tests hm.proto.len with an impossible greater-than-eight condition even though mghttpparse() requires an eight-byte protocol string, so ishttp10 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 Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Mongooseto a version that resolves this vulnerability.Fixed in 7.22
Event History
Frequently Asked Questions
Which deployments are exposed to this issue?
Deployments using Mongoose before version 7.22 behind an HTTP/1.0 reverse proxy are exposed. The vulnerable condition depends on a proxy that ignores chunked transfer encoding while Mongoose processes it.
What does an attacker need to exploit the flaw?
An attacker needs network access to send an HTTP request to the affected deployment. No authentication or user interaction is required, and exploitation uses a request with Transfer-Encoding: chunked and conflicting message framing.
What is the impact of successful exploitation?
Request smuggling can allow unauthorized access or unauthorized state changes by causing the reverse proxy and Mongoose to interpret request boundaries differently.
What should be done if the deployment cannot be upgraded immediately?
The provided information identifies HTTP/1.0 reverse-proxy deployments as the affected configuration. Until upgrading to Mongoose 7.22, avoid placing affected Mongoose instances behind an HTTP/1.0 reverse proxy.