CVE-2026-31870 cpp-httplib Affected by Remote Process Crash via Malformed Content-Length Response Header
A malicious server can crash a cpp-httplib client application by sending a malformed Content-Length header, causing an unhandled exception and process termination.
- 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-31870?
CVE-2026-31870 is a high-severity denial of service vulnerability in yhirose cpp-httplib, published on 11 Mar 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.37.1, when a cpp-httplib client uses the streaming API (httplib::stream::Get, httplib::stream::Post, etc.), the library calls std::stoull() directly on the Content-Length header value received from the server with no input validation and no exception handling. std::stoull throws std::invalid_argument for non-numeric strings and std::out_of_range for values exceeding ULLONG_MAX. Since nothing catches these exceptions, the C++ runtime calls std::terminate(), which kills the process with SIGABRT. Any server the client connects to — including servers reached via HTTP redirects, third-party APIs, or man-in-the-middle positions can crash the client application with a single HTTP response. No authentication is required. No interaction from the end user is required. The crash is deterministic and immediate. This vulnerability is fixed in 0.37.1.
Weakness: CWE-248
Which versions are affected by CVE-2026-31870?
It affects 1 product.
Products include Yhirose Cpp-Httplib.
How do I fix CVE-2026-31870?
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-31870 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-31870 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-31870, GHSA-39q5-hh6x-jpxx, UBUNTU-CVE-2026-31870.