Skip to content
OpenAdvisories
High · 8.7 CVE-2026-46527 EUVD-2026-33426

cpp-httplib: Malicious `X-Forwarded-For` Under Trusted-Proxy Configuration Triggers Empty `vector::front()`, Leading to Undefined Behavior and Server Crash

Published May 29, 2026 · Updated Jun 1, 2026 · Assigned by GitHub_M

Description

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::set_trusted_proxies() 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 get_client_ip(), 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.

Affected products

VendorProductAffectedFixed
yhirose cpp-httplib < 0.44.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 cpp-httplib No fix yet —
Debian 13 cpp-httplib No fix yet —
Debian 12 cpp-httplib No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 cpp-httplib No fix yet —
Ubuntu 25.10 cpp-httplib No fix yet —
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS cpp-httplib No fix yet —
Ubuntu Pro 24.04 LTS cpp-httplib No fix yet —
Ubuntu Pro 22.04 LTS cpp-httplib No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed cpp-httplib 0.46.1-1.1 openSUSE-SU-2026:10994-1

Advisories 1

References