H2o
Уязвимости
22
Эксплуатируемые
1
Макс. CVSS
9.8
Макс. EPSS
0.99999
Распределение по критичности
Критический
2
Высокий
14
Средний
5
Низкий
1
Также сопоставлено как (исходные строки): h2o
Топ уязвимостей
CVE-2018-0608Переполнение буфера в H2O версии 2.2.4 и более ранних версиях позволяет удаленным злоумышленникам выполнять произвольный код или вызывать отказ в обслуживании (DoS) через неуказанные векторы.
CVE-2016-7835Уязвимость use-after-free в H2O позволяет удаленным злоумышленникам вызывать отказ в обслуживании (DoS) или получать закрытые ключи сертификата сервера и, возможно, другую информацию.
CVE-2023-30847H2O is an HTTP server. In versions 2.3.0-beta2 and prior, when the reverse proxy handler tries to processes a certain type of invalid HTTP request, it tries to build an upstream URL by reading from uninitialized pointer. This behavior can lead to crashes or leak of information to back end HTTP servers. Pull request number 3229 fixes the issue. The pull request has been merged to the `master` branch in commit f010336. Users should upgrade to commit f010336 or later.
CVE-2025-8671Несоответствие, вызванное сбросом потока, вызванным клиентом, сработает потока между спецификациями HTTP/2 и внутренними архитектурами некоторых реализаций HTTP/2, может привести к чрезмерному потреблению ресурсов сервера, что приведет к отказу в обслуживании (DoS). Открыв потоки, а затем быстро запуская сервер для их сброса — с использованием деформированных кадров или ошибок управления потоком — злоумышленник может использовать неправильный учет потоков. Сброс потоков, сбрасываемых сервером, считается закрытым на уровне протокола, даже если обработка бэкэнда продолжается. Это позволяет клиенту заставить сервер обрабатывать неисграниченное количество одновременных потоков на одном соединении. Этот CVE будет обновляться по мере выпуска затронутых деталей продукта.
CVE-2024-45403h2o — это HTTP-сервер с поддержкой HTTP/1.x, HTTP/2 и HTTP/3. Когда h2o настроен в качестве обратного прокси-сервера и HTTP/3-запросы отменяются клиентом, h2o может аварийно завершить работу из-за сбоя утверждения. Аварийное завершение работы может быть использовано злоумышленником для организации атаки типа «отказ в обслуживании». По умолчанию автономный сервер h2o автоматически перезапускается, сводя к минимуму воздействие. Однако HTTP-запросы, которые обслуживались одновременно, по-прежнему будут прерваны. Уязвимость устранена в коммите 1ed32b2. Пользователи могут отключить использование HTTP/3, чтобы смягчить проблему.
CVE-2024-45397h2o — это HTTP-сервер с поддержкой HTTP/1.x, HTTP/2 и HTTP/3. Когда получается HTTP-запрос с использованием ранних данных TLS/1.3 поверх пакетов TCP Fast Open или QUIC 0-RTT и используется контроль доступа на основе IP-адресов, контроль доступа не обнаруживает и не запрещает HTTP-запросы, передаваемые пакетами с подмененным адресом источника. Такое поведение позволяет злоумышленникам в сети выполнять HTTP-запросы с адресов, которые в противном случае отклоняются контролем доступа на основе адресов. Уязвимость устранена в коммите 15ed15a. Пользователи могут отключить использование TCP FastOpen и QUIC, чтобы смягчить проблему.
CVE-2023-50247h2o - это HTTP-сервер с поддержкой HTTP/1.x, HTTP/2 и HTTP/3. Стек QUIC (quicly), используемый H2O до коммита 43f86e5 (в версии 2.3.0-beta и более ранних), подвержен атаке, приводящей к исчерпанию состояния. Когда H2O обслуживает HTTP/3, удаленный злоумышленник может использовать эту уязвимость для постепенного увеличения объема памяти, удерживаемой стеком QUIC. В конечном итоге это может привести к прерыванию работы H2O из-за нехватки памяти. Уязвимость была устранена в коммите d67e81d03be12a9d53dc8271af6530f40164cd35. HTTP/1 и HTTP/2 не подвержены этой уязвимости, поскольку они не используют QUIC. Администраторы, желающие смягчить эту проблему без обновления, могут отключить поддержку HTTP/3.
CVE-2023-44487Протокол HTTP/2 допускает отказ в обслуживании (потребление ресурсов сервера), поскольку отмена запроса может быстро сбросить множество потоков, как это было использовано в реальных условиях с августа по октябрь 2023 года.
CVE-2019-9515Некоторые реализации HTTP/2 уязвимы для settings-флуда, что потенциально приводит к отказу в обслуживании. Злоумышленник отправляет поток кадров SETTINGS пиру. Поскольку RFC требует, чтобы пир отвечал одним подтверждением на каждый кадр SETTINGS, пустой кадр SETTINGS почти эквивалентен поведению пинга. В зависимости от того, насколько эффективно эти данные ставятся в очередь, это может потреблять избыточные ресурсы ЦП, памяти или и то, и другое.
CVE-2019-9514Некоторые реализации HTTP/2 уязвимы для reset-флуда, что потенциально приводит к отказу в обслуживании. Злоумышленник открывает несколько потоков и отправляет недействительный запрос по каждому потоку, который должен вызвать поток кадров RST_STREAM от пира. В зависимости от того, как пир ставит в очередь кадры RST_STREAM, это может потреблять избыточную память, ЦП или и то, и другое.
CVE-2019-9512Некоторые реализации HTTP/2 уязвимы для ping-флуда, что потенциально приводит к отказу в обслуживании. Злоумышленник отправляет непрерывные пинги HTTP/2 пиру, заставляя пира создавать внутреннюю очередь ответов. В зависимости от того, насколько эффективно эти данные ставятся в очередь, это может потреблять избыточные ресурсы ЦП, памяти или и то, и другое.
CVE-2017-10908H2O версии 2.2.3 и более ранние версии позволяют удаленным злоумышленникам вызвать отказ в обслуживании на сервере с помощью специально созданного заголовка HTTP/2.
CVE-2017-10869Переполнение буфера в H2O версии 2.2.2 и более ранних позволяет удаленным злоумышленникам вызывать отказ в обслуживании на сервере через неуказанные векторы.
CVE-2017-10868H2O версии 2.2.2 и более ранние позволяют удаленным злоумышленникам вызывать отказ в обслуживании на сервере через специально созданный заголовок HTTP/1.
CVE-2016-4864H2O версии 2.0.3 и более ранние, а также 2.1.0-beta2 и более ранние позволяют удаленным злоумышленникам вызывать отказ в обслуживании (DoS) через спецификаторы форматной строки в файле шаблона через fastcgi, mruby, proxy, redirect или reproxy.
CVE-2016-4817lib/http2/connection.c в H2O до 1.7.3 и 2.x до 2.0.0-beta5 неправильно обрабатывает отключение HTTP/2, что позволяет удаленным злоумышленникам вызывать отказ в обслуживании (use-after-free и сбой приложения) или, возможно, выполнять произвольный код через специально созданный пакет.
CVE-2023-41337h2o — это HTTP-сервер с поддержкой HTTP/1.x, HTTP/2 и HTTP/3. В версии 2.3.0-beta2 и более ранних, когда h2o настроен на прослушивание нескольких адресов или портов, каждый из которых использует разные серверы внутренней обработки, управляемые несколькими организациями, вредоносная организация внутренней обработки, которая также имеет возможность наблюдать или внедрять пакеты, которыми обмениваются клиент и h2o, может перенаправить HTTPS-запросы, поступающие на другие внутренние серверы, и наблюдать содержимое отправляемого HTTPS-запроса. Атака включает в себя попытку клиентской программы возобновить TLS-соединение, а злоумышленник перенаправляет пакеты на другой адрес или порт, чем тот, который предназначен для клиентской программы. Злоумышленник должен быть уже настроен администратором h2o для работы в качестве внутреннего сервера для одного из адресов или портов, которые прослушивает экземпляр h2o. Идентификаторы сеансов и билеты, генерируемые h2o, не привязаны к информации, относящейся к адресу сервера, порту или сертификату X.509, и поэтому злоумышленник может заставить клиентское соединение по ошибке возобновить работу с другим адресом сервера/портом, на котором прослушивает один и тот же экземпляр h2o. Как только TLS-сеанс будет ошибочно перенаправлен для возобновления работы с адресом/портом сервера, который настроен на использование сервера, контролируемого злоумышленником, в качестве внутреннего сервера, в зависимости от конфигурации, HTTPS-запросы от клиентской программы могут быть перенаправлены на сервер злоумышленника. Экземпляр H2O уязвим для этой атаки только в том случае, если экземпляр настроен на прослушивание различных адресов или портов с использованием директивы listen на уровне хоста, и экземпляр настроен для подключения к внутренним серверам, управляемым несколькими организациями. Исправление доступно в коммите 35760540337a47e5150da0f4a66a609fad2ef0ab. В качестве обходного пути можно прекратить использование директив listen на уровне хоста в пользу директив глобального уровня.
CVE-2017-10872H2O версии 2.2.3 и более ранние позволяют удаленным злоумышленникам вызывать отказ в обслуживании на сервере через неуказанные векторы.
CVE-2021-43848h2o — это HTTP-сервер с открытым исходным кодом. В коде до коммита `8c0eca3` h2o может попытаться получить доступ к неинициализированной памяти. При получении QUIC-фреймов в определенном порядке HTTP/3-серверная реализация h2o может быть введена в заблуждение и рассматривать неинициализированную память как полученные HTTP/3-фреймы. Когда h2o используется в качестве обратного прокси-сервера, злоумышленник может воспользоваться этой уязвимостью, чтобы отправить внутреннее состояние h2o на серверы, контролируемые злоумышленником или третьей стороной. Кроме того, если существует HTTP-конечная точка, которая отражает трафик, отправляемый клиентом, злоумышленник может использовать этот рефлектор для получения внутреннего состояния h2o. Это внутреннее состояние включает трафик других соединений в незашифрованном виде и тикеты TLS-сеансов. Эта уязвимость существует в сервере h2o с поддержкой HTTP/3, между коммитами 93af138 и d1f0f65. Ни одна из выпущенных версий h2o не подвержена этой уязвимости. Известных обходных путей нет. Пользователям невыпущенных версий h2o, использующих HTTP/3, рекомендуется немедленно выполнить обновление.
CVE-2024-25622h2o — это HTTP-сервер с поддержкой HTTP/1.x, HTTP/2 и HTTP/3. Директивы конфигурации, предоставляемые обработчиком заголовков, позволяют пользователям изменять заголовки ответов, отправляемые h2o. Файл конфигурации h2o имеет области, и ожидается, что внутренние области (например, уровень пути) будут наследовать конфигурацию, определенную во внешних областях (например, глобальный уровень). Однако, если директива заголовка используется во внутренней области, все определения во внешних областях игнорируются. Это может привести к тому, что заголовки не будут изменены должным образом. В зависимости от того, какие заголовки добавляются или удаляются неожиданно, это поведение может привести к неожиданному поведению клиента. Эта уязвимость исправлена в коммите 123f5e2b65dcdba8f7ef659a00d24bd1249141be.
CVE-2015-5638Уязвимость обхода каталогов в H2O до версий 1.4.5 и 1.5.x до 1.5.0-beta2, когда включена директива file.dir, позволяет удаленным злоумышленникам читать произвольные файлы через специально созданный URL-адрес.
CVE-2016-1133Уязвимость CRLF-инъекции в функции on_req в lib/handler/redirect.c в H2O версий до 1.6.2 и 1.7.x версий до 1.7.0-beta3 позволяет удаленным злоумышленникам внедрять произвольные HTTP-заголовки и проводить атаки с разделением HTTP-ответов через специально созданный URI.