Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

suse-cvrf логотип

openSUSE-SU-2026:20733-1

Опубликовано: 08 мая 2026
Источник: suse-cvrf

Описание

Security update for cpp-httplib

This update for cpp-httplib fixes the following issues

  • CVE-2026-21428: server-side request forgery via header injection (bsc#1255835).
  • CVE-2026-22776: unsafe handling of compressed HTTP request can cause a denial of service (bsc#1256518).
  • CVE-2026-28434: default exception handler may leak e.what() to clients via EXCEPTION_WHAT response header (bsc#1259221).
  • CVE-2026-28435: payload size limit bypass via gzip decompression in ContentReader (streaming) can lead to denial of service (bsc#1259220).
  • CVE-2026-29076: denial of service via crafted HTTP POST request (bsc#1259373).

Список пакетов

openSUSE Leap 16.0
cpp-httplib-devel-0.22.0-160000.5.1
libcpp-httplib0_22-0.22.0-160000.5.1

Описание

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. This vulnerability allows attackers to add extra headers, modify request body unexpectedly & trigger an SSRF attack. When combined with a server that supports http1.1 pipelining (springboot, python twisted etc), this can be used for server side request forgery (SSRF). Version 0.30.0 fixes this issue.


Затронутые продукты
openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.5.1
openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.5.1

Ссылки

Описание

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, etc.). The library validates the payload_max_length against the compressed data size received from the network, but does not limit the size of the decompressed data stored in memory.


Затронутые продукты
openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.5.1
openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.5.1

Ссылки

Описание

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 the exception and writes its message directly into the HTTP response as a header named EXCEPTION_WHAT. This header is sent to whoever made the request, with no authentication check and no special configuration required to trigger it. The behavior is on by default. A developer who does not know to opt in to set_exception_handler() will ship a server that leaks internal exception messages to any client. This vulnerability is fixed in 0.35.0.


Затронутые продукты
openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.5.1
openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.5.1

Ссылки

Описание

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 ContentReader) with Content-Encoding: gzip (or other supported encodings). A small compressed payload can expand beyond the configured payload limit and be processed by the application, enabling a payload size limit bypass and potential denial of service (CPU/memory exhaustion). This vulnerability is fixed in 0.35.0.


Затронутые продукты
openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.5.1
openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.5.1

Ссылки

Описание

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++ implements backtracking via deep recursion, consuming one stack frame per input character. An attacker can send a single HTTP POST request with a crafted filename* parameter that causes uncontrolled stack growth, resulting in a stack overflow (SIGSEGV) that crashes the server process. This issue has been patched in version 0.37.0.


Затронутые продукты
openSUSE Leap 16.0:cpp-httplib-devel-0.22.0-160000.5.1
openSUSE Leap 16.0:libcpp-httplib0_22-0.22.0-160000.5.1

Ссылки