CVE-2026-45352 cpp-httplib DoS: Negative chunk-size in chunked Transfer-Encoding
A remote attacker can crash the server or exhaust memory by sending a negative chunk size in HTTP chunked transfer encoding.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-45352?
CVE-2026-45352 is a medium-severity denial of service vulnerability in yhirose cpp-httplib, published on 29 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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::read_payload 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 ULONG_MAX − 1 (0xFFFFFFFFFFFFFFFE). The library's only guard (line 12833) rejects ULONG_MAX (the result of "-1"), but any other negative value such as "-2" passes validation. The resulting near-maximum value is stored in chunk_remaining and controls how many bytes the server's read loop consumes from the network. This vulnerability is fixed in 0.43.4.
Which versions are affected by CVE-2026-45352?
It affects 1 product.
Products include Yhirose Cpp-Httplib.
How do I fix CVE-2026-45352?
Upgrade to a fixed version.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-45352 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45352 exists.
Other vulnerabilities in yhirose cpp-httplib
- CVE-2025-66570 cpp-httplib Untrusted HTTP Header Handling: Internal Header Shadowing (REMOTE*/LOCAL*)
- CVE-2026-45372 cpp-httplib: HTTP header value percent-decoding in server-side `parse_header` enables CRLF injection
- CVE-2026-46527 Null dereference in cpp-httplib
- CVE-2026-32627 cpp-httplib has a Silent TLS Certificate Verification Bypass on HTTPS Redirect via Proxy
- CVE-2026-22776 cpp-httplib vulnerable to a denial of service (DOS) using a zip bomb
Sources
Also known as DEBIAN-CVE-2026-45352, GHSA-h6wq-j5mv-f3q8, UBUNTU-CVE-2026-45352.