CVE-2026-29076

MEDIUM CVSS 3.1: 5,9 EPSS 0.07%
Обновлено 7 марта 2026
cpp-httplib
Параметр Значение
CVSS 5,9 (MEDIUM)
Устранено в версии 0.37.0
Тип уязвимости CWE-674, CWE-1333 (Атака через регулярные выражения (ReDoS))
Поставщик cpp-httplib
Публичный эксплойт Нет

cpp-httplib — это однофайловая кроссплатформенная библиотека HTTP/HTTPS C++11, предназначенная только для заголовков. До версии 0.37.0 cpp-httplib использовал std::regex (libstdc++) для анализа значений имени файла*, закодированных в соответствии с RFC 5987, в составных заголовках Content-Disposition. Механизм регулярных выражений в libstdc++ реализует возврат с помощью глубокой рекурсии, потребляя один кадр стека на каждый входной символ.

Злоумышленник может отправить один HTTP-запрос POST со специально созданным параметром имени файла*, который вызывает неконтролируемый рост стека, что приводит к переполнению стека (SIGSEGV), что приводит к сбою серверного процесса. Эта проблема исправлена ​​в версии 0.37.0.

Показать оригинальное описание (EN)

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.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Высокая
Сложно эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Нет
Нет модификации данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1