Bug 2520644 (CVE-2026-73256)

Summary: CVE-2026-73256 mongoose: Mongoose: HTTP/1.0 detection off-by-one enables request smuggling via chunked TE
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: urgent Docs Contact:
Priority: urgent    
Version: unspecifiedKeywords: Security
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in Mongoose. A remote, unauthenticated attacker can achieve unauthorized access or bypass security controls through HTTP request smuggling. Due to an error in protocol version validation, Mongoose fails to identify HTTP/1.0 requests and incorrectly processes chunked transfer encoding that an intermediary reverse proxy ignores. An attacker can exploit this vulnerability by sending specially crafted requests with conflicting message framing headers to manipulate server responses and alter application state.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2538638    
Bug Blocks:    

Description OSIDB Bzimport 2026-08-20 17:55:56 UTC
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.