Description
cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.35.0, cpp-httplib (httplib.h) does not enforce Server::set_payload_max_length() on the decompressed request body when using HandlerWithContentReader (streaming ContentReader) with Content-Encoding: gzip (or other supported encodings). A small compressed payload can expand beyond the configured payload limit and be processed by the application, enabling a payload size limit bypass and potential denial of service (CPU/memory exhaustion). This vulnerability is fixed in 0.35.0.
Problem types
CWE-400: Uncontrolled Resource Consumption
CWE-409: Improper Handling of Highly Compressed Data (Data Amplification)
Product status
References
github.com/...ttplib/security/advisories/GHSA-xvfx-w463-6fpp
github.com/...ommit/c99d7472b5cf4869d3897b9afc9792063a3d15a8