CVE-2026-31870 cpp-httplib Affected by Remote Process Crash via Malformed Content-Length Response Header

High 7.5 Published Updated

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.

Sources

Also known as DEBIAN-CVE-2026-31870, GHSA-39q5-hh6x-jpxx, UBUNTU-CVE-2026-31870.

Is CVE-2026-31870 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free