CVE-2026-45372: cpp-httplib: HTTP header value percent-decoding in server-side `parse_header` enables CRLF injection
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.
Security readout for executives and security teams
Plain-English summary
CVE-2026-45372 affects applications using yhirose cpp-httplib before 0.44.0 as a server. A malformed request header can be decoded into embedded line breaks after validation, creating CRLF/header-injection risk. The CVSS score is 9.9, so exposed services should treat this as urgent if they embed this library.
Executive priority
High priority for any internet-facing or partner-facing C++ service using cpp-httplib before 0.44.0. The business risk is request header manipulation that could affect integrity across trust boundaries. If the library is not present, no action is needed beyond documenting non-exposure.
Technical view
Server-side parse_header validates header values before percent-decoding. Before 0.44.0, most header values except Location and Referer could decode encoded CRLF into literal \r\n inside stored header data. This maps to CWE-93 and CWE-444, with high integrity impact and changed scope in the published CVSS vector.
Likely exposure
Exposure is likely where C++ services vendor or link yhirose cpp-httplib versions before 0.44.0 and accept untrusted HTTP requests. Header-only libraries are often copied directly into source trees, so dependency scanners may miss them without source and SBOM review.
Exploitation context
The provided sources do not show active exploitation, and the CVE is not marked KEV. The issue is remotely reachable, unauthenticated, and low complexity according to CVSS, but source evidence does not identify public exploit code or real-world attacks.
Researcher notes
Evidence is strong for the root cause and fixed version, but limited to the CVE record and GitHub advisory. Do not assume downstream impact beyond CRLF/header injection without analyzing how the application consumes stored header values.
Mitigation direction
Upgrade yhirose cpp-httplib to version 0.44.0 or later.
Search source trees for vendored cpp-httplib headers below 0.44.0.
Prioritize internet-facing services that parse untrusted HTTP requests with cpp-httplib.
Review the GitHub advisory for any newer vendor guidance.
Retest request handling after upgrading to confirm no application regressions.
Validation and detection
Confirm whether the service embeds yhirose cpp-httplib server functionality.
Verify the exact cpp-httplib version in source, submodules, packages, and SBOMs.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-444: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-444 · source CWE mapping
Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Neutralization of CRLF Sequences ('CRLF Injection')
Improper Neutralization of CRLF Sequences ('CRLF Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.