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