Uncaught Exception Affecting cpp-httplib package, versions <0.41.0+ds-3


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

Social Trends
EPSS
0.45% (36th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-DEBIANUNSTABLE-CPPHTTPLIB-15461719
  • published12 Mar 2026
  • disclosed11 Mar 2026

Introduced: 11 Mar 2026

CVE-2026-31870  (opens in a new tab)
CWE-248  (opens in a new tab)

How to fix?

Upgrade Debian:unstable cpp-httplib to version 0.41.0+ds-3 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream cpp-httplib package and not the cpp-httplib package as distributed by Debian. See How to fix? for Debian:unstable relevant fixed versions and status.

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.