Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach HTTP/1.0 reverse proxy
-
DeliverySend chunked TE request with conflicting framing
-
ExploitProxy forwards, Mongoose desyncs framing
-
ExecutionSmuggle hidden second request
-
ImpactBypass access control / alter state
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service HTTP request consistency
|
| Exploitation Conditions | Exploitation requires Mongoose (< 7.22) deployed behind an HTTP/1.0 reverse proxy, and the attacker must send an HTTP request using Transfer-Encoding: chunked with conflicting message framing - that specific proxy topology is the concrete precondition stated in the description. No authentication is needed (CVSS PR:N) and no user interaction is required (UI:N), and the attack is remote (AV:N). The primary limiting factor is deployment: if Mongoose is exposed directly, or fronted by a proxy that uses HTTP/1.1 or normalizes/rejects ambiguous Transfer-Encoding vs Content-Length framing, this exact desync does not occur. Impact is bounded to confidentiality and integrity (state changes / unauthorized access); there is no availability impact per the vector. |
| Impact | The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N, 9.1) describes a remote, unauthenticated, low-complexity attack with high confidentiality and integrity impact and no availability impact, which is consistent with request smuggling used for access-control bypass and state manipulation rather than crashes. The decisive real-world qualifier is deployment topology: exploitation requires Mongoose sitting behind an HTTP/1.0 reverse proxy, so environments that terminate HTTP/1.1+ or expose Mongoose directly are not exposed via this exact desync, which tempers the raw 9.1 for many operators. No EPSS score, KEV listing, or POC was supplied, so there is no evidence of active exploitation or automated weaponization yet; the signals we have are a vendor-confirmed code defect and a released patch, meaning any operator running a vulnerable proxy-fronted deployment should treat this as urgent and prioritize the upgrade, while those not using an HTTP/1.0 proxy can schedule it as routine hardening. Note a mild tension worth verifying: smuggling typically crosses a proxy/back-end trust boundary, which some analysts would model as a scope change (S:C), yet the input vector uses S:U - the assessment below reflects that nuance. |
| Exploit ScenarioDerived | An attacker sends a single crafted HTTP/1.0 request through an internet-facing HTTP/1.0 reverse proxy with a Transfer-Encoding: chunked header and conflicting length framing; the proxy forwards it as one benign request, but Mongoose parses the chunked body and treats trailing bytes as a second, smuggled request. The attacker uses this desync to slip a request past proxy-enforced authentication/authorization or to poison the request pipeline and change server state. No POC was provided in the intelligence, so this reflects the mechanism described in the advisory rather than confirmed public exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 20, 2026
HTTP request smuggling in Cesanta Mongoose embedded web server/network library before 7.22 lets a remote unauthenticated attacker desynchronize an HTTP/1.0 reverse-proxy front-end from the Mongoose back-end. A buggy length check in http_cb() (src/http.c) never sets is_http_1_0, so Mongoose honors Transfer-Encoding: chunked framing that an HTTP/1.0 proxy ignores, allowing the attacker to smuggle requests past the proxy and reach unauthorized functionality or alter application state. Rated CVSS 9.1; a vendor patch exists (7.22), but no public exploit and no EPSS/KEV data were provided at time of analysis.
RemediationAI
Vendor-released patch: upgrade to Mongoose 7.22, which fixes the framing check and additionally rejects requests containing both Content-Length and Transfer-Encoding headers (see release https://github.com/cesanta/mongoose/releases/tag/7.22 and advisory GHSA-mgp5-rjrv-h5j3). Because Mongoose is usually compiled into firmware/appliances, rebuild and redeploy affected products with the updated amalgamation rather than patching in place. Where an immediate upgrade is not possible, the most effective compensating control is to remove the desync precondition: reconfigure or replace the fronting reverse proxy so it speaks HTTP/1.1 and normalizes/strips ambiguous framing, or place a proxy that rejects requests carrying both Transfer-Encoding and Content-Length and drops Transfer-Encoding: chunked toward an HTTP/1.0 backend - the trade-off is added proxy configuration and possible breakage of legitimate chunked clients. If no proxy change is feasible, restrict network exposure of the Mongoose service to trusted sources to reduce unauthenticated reach, accepting that this does not fix the underlying framing bug.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Mongoose (CPE cpe:2.3:a:cesanta:mongoose) is a widely embedded C web server and networking library used in firmware, IoT, and appliance HTTP stacks. The flaw is a classic CWE-444 HTTP Request/Response Smuggling issue driven by inconsistent message-framing interpretation between two agents. mg_http_parse() guarantees an eight-byte protocol token (e.g. 'HTTP/1.0'), but http_cb() tests hm.proto.len against an impossible greater-than-eight condition, so the is_http_1_0 flag is never asserted. As a result Mongoose always applies chunked Transfer-Encoding semantics even for HTTP/1.0 conversations, while an upstream HTTP/1.0 proxy - which by spec does not support chunked encoding - treats the same bytes as body or a new request, producing the framing disagreement that enables smuggling. The 7.22 fix also hardens parsing by rejecting requests that carry both Content-Length and Transfer-Encoding (mg_http_parse now returns -1), closing the related CL.TE ambiguity.
Know when Mongoose gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Remote and unauthenticated (AV:N/PR:N), but requires a specific HTTP/1.0 reverse-proxy deployment so AC:H; smuggling crosses the proxy trust boundary so S:C; high confidentiality/integrity, no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Executive ViewAI
Cesanta Mongoose embedded web server versions before 7.22 contain a critical HTTP request smuggling vulnerability (CVSS 9.1) allowing remote unauthenticated attackers to bypass HTTP/1.0 reverse proxy controls and directly access unauthorized backend functionality. No public exploit identified at time of analysis. Organizations must prioritize immediate patching to prevent unauthorized access and application state manipulation.
Apply vendor patch (upgrade to Mongoose 7.22 or later).
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
HTTP request smuggling exploits inconsistencies in how front-end and back-end servers parse HTTP message boundaries.
Mongoose ODM for Node.js before version 8.9.5 contains a search injection vulnerability when using $where filters with p
An exploitable stack buffer overflow vulnerability exists in the MQTT packet parsing functionality of Cesanta Mongoose 6
An exploitable use-after-free vulnerability exists in the HTTP server implementation of Cesanta Mongoose 6.8. Rated crit
An exploitable memory corruption vulnerability exists in the Websocket protocol implementation of Cesanta Mongoose 6.8.
An exploitable memory corruption vulnerability exists in the Websocket protocol implementation of Cesanta Mongoose 6.8.
Prototype Pollution in GitHub repository automattic/mongoose prior to 7.3.4. Rated critical severity (CVSS 9.8), this vu
Prototype Pollution in GitHub repository automattic/mongoose prior to 6.4.6. Rated critical severity (CVSS 9.8), this vu
An integer overflow in parse_mqtt in mongoose.c in Cesanta Mongoose 6.16 allows an attacker to achieve remote DoS (infin
Mongoose before 8.8.3 can improperly use $where in match, leading to search injection. Rated critical severity (CVSS 9.1
The mg_tls_init function in Cesanta Mongoose HTTPS server 7.0 (compiled with OpenSSL support) is vulnerable to remote OO
The mg_tls_init function in Cesanta Mongoose HTTPS server 7.0 and 6.7-6.18 (compiled with mbedTLS support) is vulnerable
The mg_http_serve_file function in Cesanta Mongoose HTTP server 7.0 is vulnerable to remote OOB write attack via connect
EUVD-2026-63497
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB