What’s Vulnerable › Vulnerabilities
CVE-2026-103930: cpp-httplib open_stream serializes CRLF in request target into HTTP request line
- Severity: low (CVSS 3.7 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-14 · updated 2026-10-16
- Weakness: CWE-113
Description
cpp-httplib is a C++ header-only HTTP/HTTPS library. From 0.29.0 until 0.51.0, Client::open_stream in httplib.h accepts a caller-controlled path that reaches detail::write_request_line() without the detail::encode_path() protection used by the ordinary buffered request path. Raw carriage-return and line-feed bytes in the path can therefore split the outbound HTTP/1.1 request line and inject attacker-shaped request metadata. Exploitation requires an embedding application to pass remote user input into the open_stream path and a backend or intermediary that interprets the injected bytes; the established impact is modification of backend-visible request data, not direct confidentiality or availability impact. This issue is fixed in version 0.51.0.
Affected products
- yhirose cpp-httplib: from 0.29.0, < 0.51.0
References
- https://github.com/yhirose/cpp-httplib/commit/255c075b82cf9f221e6e607e8e6789e6e2bf4c2a
- https://github.com/yhirose/cpp-httplib/pull/2501
- https://github.com/yhirose/cpp-httplib/releases/tag/v0.51.0
- https://github.com/yhirose/cpp-httplib/security/advisories/GHSA-vq69-f637-8fhr
Get alerted when CVE-2026-103930 or the next vulnerability affects your stack