Description
cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.44.0, when cpp-httplib's server parses an incoming request, it applies percent-decoding to every header value except Location and Referer. The validity check (is_field_value) is run before decoding, so encoded %0D%0A passes the check and is then expanded to a literal \r\n byte pair inside the stored header value. This vulnerability is fixed in 0.44.0.
Problem types
CWE-93: Improper Neutralization of CRLF Sequences ('CRLF Injection')
CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
Product status
References
github.com/...ttplib/security/advisories/GHSA-xjxg-64p4-vj4m
github.com/...ttplib/security/advisories/GHSA-xjxg-64p4-vj4m