CVE-2026-103930
CVE-2026-103930 · cpp-httplib open_stream serializes CRLF in request target into HTTP request line
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
CVSS 3.7 · Low · EPSS 0.4%
- Published
- Updated
Stack: system
Affected products and versions
cpp-httplib
- Versions
- >= 0.29.0, < 0.51.0: Affected
No fix published
cpp-httplib Debian:12
- Versions
- 0.11.4+ds-1
- 0.11.4+ds-1+deb12u1
- 0.11.4+ds-2
- 0.11.4+ds-3
- 0.13.1+ds-1
- 0.14.0+ds-1
- 0.14.1+ds-1
- 0.14.1+ds-2
- 0.14.2+ds-1
- 0.14.3+ds-1
- 0.14.3+ds-1.1
- 0.14.3+ds-1.1~exp1
- 0.15.3+ds-1
- 0.15.3+ds-2
- 0.15.3+ds-3
- 0.16.0+ds-1
- 0.16.3+ds-1
- 0.16.3+ds-2
- 0.18.0+ds-1
- 0.18.7-1
- 0.20.1+ds-3
- 0.25.0+ds-1
- 0.26.0+ds-2
- 0.41.0+ds-1
- 0.41.0+ds-2
- 0.41.0+ds-3
- 0.41.0+ds-3~bpo13+1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
cpp-httplib Debian:13
- Versions
- 0.18.7-1
- 0.18.7-1+deb13u1
- 0.20.1+ds-3
- 0.25.0+ds-1
- 0.26.0+ds-2
- 0.41.0+ds-1
- 0.41.0+ds-2
- 0.41.0+ds-3
- 0.41.0+ds-3~bpo13+1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
cpp-httplib Debian:14
- Versions
- 0.18.7-1
- 0.20.1+ds-3
- 0.25.0+ds-1
- 0.26.0+ds-2
- 0.41.0+ds-1
- 0.41.0+ds-2
- 0.41.0+ds-3
- 0.41.0+ds-3~bpo13+1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
cpp-httplib Ubuntu:Pro:22.04:LTS
- Versions
- 0.9.9+ds-1
- 0.9.10+ds-1
- 0.10.1+ds-1
- 0.10.2+ds-1
- 0.10.3+ds-1
- 0.10.3+ds-1ubuntu0.1~esm1
- 0.10.3+ds-1ubuntu0.1~esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
cpp-httplib Ubuntu:Pro:24.04:LTS
- Versions
- 0.13.1+ds-1ubuntu1
- 0.14.3+ds-1
- 0.14.3+ds-1.1
- 0.14.3+ds-1.1build1
- 0.14.3+ds-1.1build2
- 0.14.3+ds-1.1ubuntu0.1~esm1
- 0.14.3+ds-1.1ubuntu0.1~esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
cpp-httplib Ubuntu:26.10
- Versions
- 0.26.0+ds-2ubuntu3
- 0.26.0+ds-2ubuntu4
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
cpp-httplib Ubuntu:Pro:26.04:LTS
- Versions
- 0.18.7-1
- 0.26.0+ds-2ubuntu2
- 0.26.0+ds-2ubuntu3
- 0.26.0+ds-2ubuntu3+esm1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
Original sources
- https://github.com/yhirose/cpp-httplib/security/advisories/GHSA-vq69-f637-8fhr
- https://github.com/yhirose/cpp-httplib/pull/2501
- https://github.com/yhirose/cpp-httplib/commit/255c075b82cf9f221e6e607e8e6789e6e2bf4c2a
- https://github.com/yhirose/cpp-httplib/releases/tag/v0.51.0
- https://nvd.nist.gov/vuln/detail/CVE-2026-103930