04.06.2026
Исследователи компании Calif раскрыли удалённую DoS-атаку HTTP/2 Bomb, которая в конфигурации по умолчанию затрагивает nginx, Apache HTTPD, Microsoft IIS, Envoy и Cloudflare Pingora. Один клиент на канале 100 Мбит/с способен заставить сервер выделить десятки гигабайт оперативной памяти за секунды. Для nginx и Apache уже выпущены исправления.
Команда Calif сообщила об удалённой атаке отказа в обслуживании, получившей название HTTP/2 Bomb. По данным исследователей, уязвимое поведение присутствует в конфигурации HTTP/2 по умолчанию у нескольких широко распространённых веб-серверов: nginx, Apache HTTP Server (Apache HTTPD), Microsoft IIS, прокси-сервера Envoy и реализации Cloudflare Pingora. По оценке Calif, потенциально затронуто более 880 тысяч сайтов, использующих HTTP/2 на этих серверах в настройках по умолчанию.
Атака не вводит принципиально новых примитивов, а объединяет два давно известных приёма. Первый нацелен на HPACK — механизм сжатия заголовков в HTTP/2 (RFC 7541), который использует динамическую таблицу ранее переданных заголовков и позволяет ссылаться на запись одним байтом. Атакующий помещает в таблицу одну запись, а затем отправляет тысячи однобайтовых ссылок на неё; каждая такая ссылка обходится атакующему в один байт «на проводе», а серверу — в полное выделение памяти под заголовок. По данным Calif, коэффициент усиления составляет от примерно 70:1 на nginx, IIS и Pingora до тысяч к одному на Apache HTTPD и Envoy. В отличие от классических «компрессионных бомб», усиление здесь возникает не из объёма распакованных данных, а из служебного учёта на стороне сервера, поэтому привычные ограничения на размер декодированных заголовков не срабатывают.
Второй приём — удержание соединения в стиле Slowloris. Клиент объявляет нулевое окно управления потоком (flow control), из-за чего сервер не может завершить отправку ответа и освободить выделенную память, и периодически шлёт однобайтовые кадры WINDOW_UPDATE, сбрасывая таймаут. В результате выделенные ресурсы остаются занятыми. По данным исследователей, один клиент на канале 100 Мбит/с способен сделать уязвимый сервер недоступным за секунды, а против Apache HTTPD и Envoy — заставить выделить и удерживать около 32 ГБ памяти примерно за 20 секунд.
HTTP/2 Bomb опирается на ранее известные проблемы, включая исходную «HPACK Bomb» (CVE-2016-6581, 2016 год), усиление в Apache HTTPD CVE-2025-53020 (2025 год) и Slowloris-подобные DoS в Apache HTTPD (CVE-2016-8740 и CVE-2016-1546). По словам Calif, новизна в способе их комбинирования: атака была собрана при помощи агента OpenAI Codex, который изучил исходный код серверов и обнаружил, что два приёма сочетаются друг с другом. Исследователи относят проблему к дефекту самой спецификации RFC 7541, которая рассматривает риск исчерпания памяти лишь как коэффициент усиления, не учитывая возможность долго удерживать соединение открытым.
nginx устранил проблему в версии 1.29.8, добавив директиву max_headers (по умолчанию 1000); при невозможности обновления рекомендуется отключить HTTP/2 директивой http2 off. В Apache HTTPD исправление вышло в mod_http2 версии 2.0.41 — теперь фрагменты заголовка Cookie учитываются в ограничении LimitRequestFields; этому исправлению присвоен идентификатор CVE-2026-49975. Для Microsoft IIS, Envoy и Cloudflare Pingora на момент раскрытия исправлений не было, их сопровождающие уведомлены; в качестве временных мер предлагается отключить HTTP/2 либо поставить перед сервером прокси с жёстким ограничением числа заголовков в запросе, а также ограничивать память воркеров через cgroups, ulimit или лимиты контейнеров.
Источник: blog.calif.io