cpp-httplib — это однофайловая кроссплатформенная библиотека HTTP/HTTPS C++11, предназначенная только для заголовков. До версии 0.35.0 cpp-httplib (httplib.h) не применяет Server::set_payload_max_length() к распакованному телу запроса при использовании HandlerWithContentReader (потоковая передача ContentReader) с Content-Encoding: gzip (или другой поддерживаемой кодировкой). Небольшая сжатая полезная нагрузка может выйти за пределы настроенного ограничения полезной нагрузки и быть обработана приложением, что позволяет обойти ограничение размера полезной нагрузки и потенциальный отказ в обслуживании (исчерпание процессора/памяти).
Эта уязвимость исправлена в версии 0.35.0.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Yhirose Cpp-Httplib
cpe:2.3:a:yhirose:cpp-httplib:*:*:*:*:*:*:*:*
|
— |
0.35.0
|