CVE-2026-45372 cpp-httplib: HTTP header value percent-decoding in server-side `parse_header` enables CRLF injection
Attackers can inject CRLF sequences into HTTP headers via percent-encoded values, potentially enabling response splitting or header manipulation.
- 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-45372?
CVE-2026-45372 is a critical 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.44.0, when cpp-httplib's server parses an incoming request, it applies percent-decoding to every header value except Location and Referer. The validity check (is_field_value) is run before decoding, so encoded %0D%0A passes the check and is then expanded to a literal \r\n byte pair inside the stored header value. This vulnerability is fixed in 0.44.0.
Which versions are affected by CVE-2026-45372?
It affects 1 product.
Products include Yhirose Cpp-Httplib.
How do I fix CVE-2026-45372?
Upgrade to a fixed version.
Is CVE-2026-45372 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45372 exists.
Other vulnerabilities in yhirose cpp-httplib
- CVE-2025-66570 cpp-httplib Untrusted HTTP Header Handling: Internal Header Shadowing (REMOTE*/LOCAL*)
- 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
- CVE-2026-21428 cpp-httplib has CRLF injection in http headers
Sources
Also known as DEBIAN-CVE-2026-45372, GHSA-xjxg-64p4-vj4m, UBUNTU-CVE-2026-45372, USN-8470-1.