cpp-httplib — это однофайловая кроссплатформенная библиотека HTTP/HTTPS C++11, предназначенная только для заголовков. До версии 0.40.0 cpp-httplib уязвим для контрабанды HTTP-запросов. Обработчик статических файлов сервера обслуживает ответы GET, не потребляя тело запроса.
В соединениях с поддержкой HTTP/1.1 непрочитанные байты тела остаются в потоке TCP и интерпретируются как начало нового HTTP-запроса. Злоумышленник может встроить произвольный HTTP-запрос в тело запроса GET, который сервер обрабатывает как отдельный запрос. Эта проблема исправлена в версии 0.40.0.
Показать оригинальное описание (EN)
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.1 keep-alive connections, the unread body bytes remain on the TCP stream and are interpreted as the start of a new HTTP request. An attacker can embed an arbitrary HTTP request inside the body of a GET request, which the server processes as a separate request. This issue has been patched in version 0.40.0.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Yhirose Cpp-Httplib
cpe:2.3:a:yhirose:cpp-httplib:*:*:*:*:*:*:*:*
|
— |
0.40.0
|