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 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.
Security readout for executives and security teams
Plain-English summary
A flaw in Mongoose before 7.22 can let an unauthenticated internet attacker confuse an HTTP/1.0 reverse proxy and the Mongoose backend about where one request ends and another begins. In affected deployments, this request-smuggling condition could bypass intended controls, exposing sensitive information or enabling unauthorized state changes.
Executive priority
Treat this as an urgent remediation for internet-facing or externally reachable affected deployments. Prioritize identifying hidden embedded copies and upgrading to 7.22. Systems not using an HTTP/1.0 reverse proxy appear outside the described exploitation condition, but version and architecture must be verified.
Technical view
Mongoose incorrectly checks whether the parsed protocol string is longer than eight bytes, although the parser requires the eight-byte HTTP/1.0 string. The HTTP/1.0 flag therefore remains unset, allowing Mongoose to process chunked transfer encoding that an HTTP/1.0 proxy may ignore. Conflicting request boundaries can then produce CWE-444 request smuggling.
Likely exposure
Exposure requires Mongoose earlier than 7.22 in an HTTP/1.0 reverse-proxy deployment where untrusted clients can reach the service. Internet-facing systems are the clearest concern. Embedded, vendored, or statically linked Mongoose copies may be overlooked during ordinary package inventory.
Exploitation context
The CVSS 3.1 score is 9.1 because exploitation is remote, unauthenticated, low-complexity, and requires no user interaction. The supplied record does not report active exploitation and states that the CVE is not in KEV.
Researcher notes
The vulnerable decision occurs in http_cb() within src/http.c after mg_http_parse(). The impossible length comparison prevents HTTP/1.0 recognition and permits divergent transfer-encoding interpretation between proxy and backend. The supplied sources identify unauthorized access and state changes as potential outcomes, but provide no evidence of exploitation in the wild.
Mitigation direction
Upgrade every affected Mongoose instance to version 7.22 or later.
Inventory embedded and statically linked Mongoose copies, including versions shipped inside appliances and custom firmware.
If immediate upgrading is impossible, consult Cesanta guidance and restrict untrusted access to affected reverse-proxy paths.
Confirm reverse proxies and backends use consistent request-framing behavior.
Validation and detection
Verify deployed Mongoose versions, including vendored source and statically linked binaries.
Determine whether Mongoose sits behind an HTTP/1.0 reverse proxy and accepts untrusted network traffic.
Confirm all affected instances were upgraded to version 7.22 or later.
Review proxy and backend logs for framing inconsistencies, unexpected requests, or unexplained unauthorized changes.
Safely regression-test proxy and backend request-boundary agreement after upgrading.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-444: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-444 · source CWE mapping
Inconsistent Interpretation of HTTP Requests
Inconsistent Interpretation of HTTP Requests represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.