Skip to content
OpenAdvisories

Product · yhirose

cpp-httplib

23 known vulnerabilities.

cpp-httplib at a glance

Last 12 months
19
Critical · all time
2
Exploited · all time
0
Public exploit · all time
0
New vulnerabilities per month · last 12 months
0 5 10 December 2025: 2 vulnerabilities, 1 critical Dec 2025 January 2026: 2 vulnerabilities February 2026: 0 vulnerabilities March 2026: 7 vulnerabilities Mar April 2026: 0 vulnerabilities May 2026: 3 vulnerabilities, 1 critical June 2026: 0 vulnerabilities Jun July 2026: 1 vulnerability August 2026: 2 vulnerabilities September 2026: 0 vulnerabilities Sep October 2026: 2 vulnerabilities November 2026: 0 vulnerabilities
Show as table
MonthVulnerabilitiesCritical
Nov 202600
Oct 202620
Sep 202600
Aug 202620
Jul 202610
Jun 202600
May 202631
Apr 202600
Mar 202670
Feb 202600
Jan 202620
Dec 202521
Nov 202500
Oct 202500
Sep 202500
Aug 202500
Jul 202520
Jun 202510
May 202510
Apr 202500
Mar 202500
Feb 202500
Jan 202500
Dec 202400

23 results · Feed

  • Low 3.7

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

    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 buffer…

  • High 7.5

    cpp-httplib: Cookie header leaked on cross-origin redirect

    cpp-httplib is a C++ header-only HTTP/HTTPS library. Prior to 0.51.0, create_redirect_client() removes Host, Proxy-Authorization, and Authorization headers when following a cross-origin 301, 302, 307, or 308 redirect but leaves Cookie headers attached. detail…

  • High 8.2

    cpp-httplib: Use-after-free of TLS session in WebSocketClient::shutdown_and_close()

    cpp-httplib is a C++ header-only HTTP/HTTPS library. In versions 0.33.0 through 0.50.0, the TLS-enabled WebSocket client frees the TLS session before closing the WebSocket that still uses it, producing a use-after-free. In WebSocketClient::shutdown_and_close …

  • Medium 5.3

    cpp-httplib: CRLF injection via unvalidated HTTP trailer headers in chunked response writing

    cpp-httplib is a C++ header-only HTTP/HTTPS library. In version 0.49.0, the chunked-response trailer output path writes trailer header names and values directly to the socket without validating them, allowing CRLF sequences in a trailer field to inject additi…

  • High 7.4

    cpp-httplib: TLS certificate chain verification bypassed for IP-literal hosts on Mbed TLS and wolfSSL backends

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. In affected Mbed TLS backend versions from 0.31.0 through 0.46.1 and wolfSSL backend versions from 0.33.0 through 0.46.1, when cpp-httplib is built with CPPHTTPLIB_MBEDTLS_SUPPO…

  • Critical 9.9

    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_fiel…

  • High 8.7

    cpp-httplib: Malicious `X-Forwarded-For` Under Trusted-Proxy Configuration Triggers Empty `vector::front()`, Leading to Undefined Behavior and Server Crash

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.44.0, When the server has called Server::set_trusted_proxies() with a non-empty trusted-proxy list, an attacker can send an HTTP request that includes an X-Forwarded-…

  • Medium 5.3

    cpp-httplib DoS: Negative chunk-size in chunked Transfer-Encoding

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.43.4, negative chunk-size in chunked Transfer-Encoding causes unbounded memory allocation and process crash. The ChunkedDecoder::read_payload function in cpp-httplib …

  • Medium 4.8

    cpp-httplib: HTTP Request Smuggling via Unconsumed GET Request Body

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to version 0.40.0, cpp-httplib is vulnerable to HTTP Request Smuggling. The server's static file handler serves GET responses without consuming the request body. On HTTP/1…

  • High 7.4

    cpp-httplib Client Leaks Authentication Credentials to Untrusted Hosts on Cross-Origin HTTP Redirect

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.39.0, the cpp-httplib HTTP client forwards stored Basic Auth, Bearer Token, and Digest Auth credentials to arbitrary hosts when following cross-origin HTTP redirects …

  • High 8.7

    cpp-httplib has a Silent TLS Certificate Verification Bypass on HTTPS Redirect via Proxy

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.37.2, when a cpp-httplib client is configured with a proxy and set_follow_location(true), any HTTPS redirect it follows will have TLS certificate and hostname verific…

  • High 7.5

    cpp-httplib Affected by Remote Process Crash via Malformed Content-Length Response Header

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.37.1, when a cpp-httplib client uses the streaming API (httplib::stream::Get, httplib::stream::Post, etc.), the library calls std::stoull() directly on the Content-Le…

  • Medium 5.9

    cpp-httplib: Stack Overflow Denial of Service (DoS) via std::regex in multipart filename parsing

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to version 0.37.0, cpp-httplib uses std::regex (libstdc++) to parse RFC 5987 encoded filename* values in multipart Content-Disposition headers. The regex engine in libstdc…

  • High 7.5

    Payload size limit bypass via gzip decompression in ContentReader (streaming) allows oversized request bodies in cpp-httplib

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.35.0, cpp-httplib (httplib.h) does not enforce Server::set_payload_max_length() on the decompressed request body when using HandlerWithContentReader (streaming Conten…

  • Medium 5.3

    cpp-httplib's default exception handler leaks e.what() to clients via EXCEPTION_WHAT response header

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.35.0, when a request handler throws a C++ exception and the application has not registered a custom exception handler via set_exception_handler(), the library catches…

  • High 8.7

    cpp-httplib vulnerable to a denial of service (DOS) using a zip bomb

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to version 0.30.1, a Denial of Service (DoS) vulnerability exists in cpp-httplib due to the unsafe handling of compressed HTTP request bodies (Content-Encoding: gzip, br, …

  • High 7.7

    cpp-httplib has CRLF injection in http headers

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to version 0.30.0, the ``write_headers`` function does not check for CR & LF characters in user supplied headers, allowing untrusted header value to escape header lines. T…

  • Medium 5.3

    cpp-httplib Untrusted HTTP Header Handling: X-Forwarded-For/X-Real-IP Trust

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.27.0, a vulnerability allows attacker-controlled HTTP headers to influence server-visible metadata, logging, and authorization decisions. An attacker can supply X-For…

  • Critical 10.0

    cpp-httplib Untrusted HTTP Header Handling: Internal Header Shadowing (REMOTE*/LOCAL*)

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.27.0, a vulnerability allows attacker-controlled HTTP headers to influence server-visible metadata, logging, and authorization decisions. An attacker can inject heade…

  • High 7.5

    cpp-httplib Unbounded Memory Allocation in Chunked/No-Length Requests Vulnerability

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.23.0, incoming requests using Transfer-Encoding: chunked in the header can allocate memory arbitrarily in the server, potentially leading to its exhaustion. This vuln…

  • Medium 6.3

    cpp-httplib does not limit the length of a line

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.20.1, cpp-httplib does not have a limit for a unique line, permitting an attacker to explore this to allocate memory arbitrarily. This vulnerability is fixed in 0.20.…

  • High 7.5

    cpp-httplib has unlimited number of http header fields, which causes memory leak

    cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. In version 0.21.0, when many http headers fields are passed in, the library does not limit the number of headers, and the memory associated with the headers will not be released…

  • High 7.5

    cpp-httplib has Unbounded Memory Allocation in Chunked/No-Length Requests

    cpp-httplib is a C++ header-only HTTP/HTTPS server and client library. Prior to version 0.20.1, the library fails to enforce configured size limits on incoming request bodies when `Transfer-Encoding: chunked` is used or when no `Content-Length` header is prov…