cpp-httplib - это кросс-платформа только для заголовков C++11, библиотека HTTP/HTTPS. До 0.27.0 уязвимость позволяет управляемым злоумышлен…
cpp-httplib - это кросс-платформа только для заголовков C++11, библиотека HTTP/HTTPS. До 0.27.0 уязвимость позволяет управляемым злоумышленником HTTP-заголовкам влиять на решения о сервере, находимся в состоянии журналирования и авторизации. Злоумышленник может вводить заголовки под названием REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT, которые анализируются в заголовок запроса multimp через read_headers() в httplib.h (headers.emplace), затем сервер позже прибавляет свои внутренние метаданные, используя те же имена заголовков в Server:process_request без удаления дубликатов. Поскольку Request::get_header_value возвращает первую запись для заголовка (id == 0), а заголовки, поставляемые клиентом, разбираются перед вставленными сервером заголовки, нисходящий код, который использует эти имена заголовков, может непреднамеренно использовать значения, контролируемые злоумышленником. Затронутые файлы/локации: cpp-httplib/httplib.h (read_headers, Server::process_request, Запрос::get_header_value, get_header_value_u64) и cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger, nginx_error_logger). Вращается поверхность атаки: управляемые злоумышленником HTTP-заголовки во входящих запросах поступают в multimpap и в код регистрации, который считывается перенаправленные заголовки, что позволяет спуфировать IP, отравлять журнал и обходить авторизацию через затылок. Эта уязвимость фиксируется в 0.27.0.
Данная атакоориентированная слабость обусловлена некорректно реализованными схемами аутентификации, подверженными атакам подмены.
https://cwe.mitre.org/data/definitions/290.html →Открыть в коллекции CWE →Нет описания.
https://capec.mitre.org/data/definitions/21.html →Открыть в коллекции CAPEC →Атака данного типа эксплуатирует уязвимости в аутентификации канала взаимодействия клиент/сервер и целостности данных. Она использует неявное доверие, которое сервер оказывает клиенту, или, что важнее, тому, кого сервер считает клиентом. Злоумышленник реализует данный тип атаки, взаимодействуя напрямую с сервером, который при этом полагает, что общается только с действительным клиентом. Существует множество разновидностей данного типа атак.
https://capec.mitre.org/data/definitions/22.html →Открыть в коллекции CAPEC →Данная атака направлена на предсказуемые идентификаторы сеанса с целью получения привилегий. Злоумышленник может предсказать идентификатор сеанса, используемый во время транзакции, и применить его для подделки личности и перехвата сеанса.
https://capec.mitre.org/data/definitions/59.html →Открыть в коллекции CAPEC →Данная атака направлена на повторное использование действительного идентификатора сеанса для подделки личности в целевой системе и получения привилегий. Злоумышленник пытается повторно использовать похищенный идентификатор сеанса, применявшийся ранее в транзакции, для подделки личности и перехвата сеанса. Другое название этого типа атаки — воспроизведение сеанса.
https://capec.mitre.org/data/definitions/60.html →Открыть в коллекции CAPEC →Нет описания в исходных данных.
https://capec.mitre.org/data/definitions/94.html →Открыть в коллекции CAPEC →Злоумышленник эксплуатирует слабость, возникающую вследствие применения хеш-алгоритма с низкой устойчивостью к коллизиям, для генерации запросов на подпись сертификата (CSR), содержащих блоки коллизий в разделах «подписываемых данных». Злоумышленник отправляет один CSR на подписание доверенному удостоверяющему центру, а затем использует подписанный блок для того, чтобы второй сертификат выглядел подписанным тем же удостоверяющим центром. Вследствие хеш-коллизии оба сертификата, будучи различными, дают одно и то же хеш-значение, и подписанный блок одинаково работает с обоими сертификатами. В итоге второй сертификат X.509 злоумышленника, который удостоверяющий центр никогда не видел, оказывается подписанным и верифицированным этим удостоверяющим центром.
https://capec.mitre.org/data/definitions/459.html →Открыть в коллекции CAPEC →Злоумышленник использует слабость расширения/дополнения хеш-функции для изменения параметров, передаваемых веб-сервису при запросе аутентификации, генерируя собственный вызов с целью получения легитимной подписи (как описано в примечаниях) без знания секретного токена, который иногда предоставляется веб-сервисом.
https://capec.mitre.org/data/definitions/461.html →Открыть в коллекции CAPEC →Злоумышленник генерирует сообщение или блок данных, заставляющий получателя считать, что сообщение или блок данных были сформированы и криптографически подписаны авторитетным или надёжным источником, вводя тем самым жертву или операционную систему в заблуждение и побуждая к выполнению вредоносных действий.
https://capec.mitre.org/data/definitions/473.html →Открыть в коллекции CAPEC →Злоумышленник эксплуатирует слабость в коде синтаксического анализа или отображения программного обеспечения-получателя для формирования блока данных, содержащего якобы действительную подпись, при этом личность подписанта представлена ложно, что может привести к тому, что злоумышленник манипулирует программным обеспечением-получателем или его пользователем, вынуждая выполнять компрометирующие действия.
https://capec.mitre.org/data/definitions/476.html →Открыть в коллекции CAPEC →Злоумышленник маскирует MAC-адрес своего Bluetooth-устройства под адрес, для которого существует активное и доверенное соединение, и успешно проходит аутентификацию. После этого злоумышленник может выполнять вредоносные действия на целевом Bluetooth-устройстве в зависимости от его возможностей.
https://capec.mitre.org/data/definitions/667.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| cpp-httplib | Отслеживается | |
| cpp-httplib | Отслеживается | |
| cpp-httplib | Отслеживается | |
| cpp-httplib | Отслеживается | |
| cpp-httplib | Отслеживается | |
| cpp-httplib | * | Отслеживается |