Skip to content
OpenAdvisories
Low · 3.7 CVE-2026-103930 EUVD-2026-101593

cpp-httplib open_stream serializes CRLF in request target into HTTP request line

Published Oct 14, 2026 · Updated Oct 15, 2026 · Assigned by GitHub_M

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

VendorProductAffectedFixed
yhirose cpp-httplib >= 0.29.0, < 0.51.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 —
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 —

References