CyberRota Analysis
AI-GeneratedMongoose versions prior to 7.22 are vulnerable to a critical remote unauthenticated attack that exploits improper handling of HTTP/1.0 requests with chunked transfer encoding, allowing for request smuggling and potential unauthorized access or state changes. This flaw arises from a logic error in the http_cb() function, which fails to properly validate protocol string lengths, leading to security bypasses. Organizations using Mongoose in their web server or network library implementations should prioritize upgrading to version 7.22 to mitigate this risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
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.