A C++11 single-file header-only cross platform HTTP/HTTPS library. It's extremely easy to setup. Just include httplib.h file in your code!
Security Fix(es):
cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.43.4, negative chunk-size in chunked Transfer-Encoding causes unbounded memory allocation and process crash. The ChunkedDecoder::readpayload function in cpp-httplib (httplib.h) parses the chunk-size field of HTTP chunked transfer encoding using std::strtoul(). Per the C standard (§7.22.1.4), strtoul silently accepts a leading minus sign, performing unsigned wrap-around: strtoul("-2", …, 16) returns ULONGMAX − 1 (0xFFFFFFFFFFFFFFFE). The library's only guard (line 12833) rejects ULONGMAX (the result of "-1"), but any other negative value such as "-2" passes validation. The resulting near-maximum value is stored in chunkremaining and controls how many bytes the server's read loop consumes from the network. This vulnerability is fixed in 0.43.4.(CVE-2026-45352)
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 (isfieldvalue) 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.(CVE-2026-45372)
cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.44.0, When the server has called Server::settrustedproxies() with a non-empty trusted-proxy list, an attacker can send an HTTP request that includes an X-Forwarded-For header whose value parses to no valid IP segments. The code path then executes getclientip(), which calls front() on an empty std::vector—undefined behavior in C++. On typical implementations this manifests as abnormal process termination (denial of service). With Sanitizers enabled, you get an explicit runtime diagnostic. This vulnerability is fixed in 0.44.0.(CVE-2026-46527)
{
"severity": "Critical"
}{
"x86_64": [
"cpp-httplib-0.46.0-1.oe2403sp1.x86_64.rpm",
"cpp-httplib-debuginfo-0.46.0-1.oe2403sp1.x86_64.rpm",
"cpp-httplib-debugsource-0.46.0-1.oe2403sp1.x86_64.rpm",
"cpp-httplib-devel-0.46.0-1.oe2403sp1.x86_64.rpm"
],
"aarch64": [
"cpp-httplib-0.46.0-1.oe2403sp1.aarch64.rpm",
"cpp-httplib-debuginfo-0.46.0-1.oe2403sp1.aarch64.rpm",
"cpp-httplib-debugsource-0.46.0-1.oe2403sp1.aarch64.rpm",
"cpp-httplib-devel-0.46.0-1.oe2403sp1.aarch64.rpm"
],
"src": [
"cpp-httplib-0.46.0-1.oe2403sp1.src.rpm"
]
}