Исследователи Calif раскрыли новую DoS-атаку HTTP/2 Bomb, которая может быстро вывести из строя веб-серверы и прокси в стандартной конфигурации HTTP/2. В списке затронутых реализаций — nginx, Apache HTTP Server, Microsoft IIS, Envoy и Cloudflare Pingora.
Атака бьёт по доступности: сервер начинает выделять память на обработку запросов, не успевает её освобождать и уходит в сильную деградацию или становится недоступным.
HTTP/2 Bomb собрана из двух старых идей. Первая — компрессионная бомба в HPACK, механизме сжатия заголовков HTTP/2. Вторая — удержание соединения в стиле Slowloris через управление потоком. Новизна — в их связке.
HPACK нужен, чтобы HTTP/2 не гонял одни и те же заголовки полностью в каждом запросе. Клиент может один раз добавить заголовок в динамическую таблицу, а затем ссылаться на него коротким индексом. В атаке короткая ссылка превращается в выделение памяти на стороне сервера.
В варианте HTTP/2 Bomb заголовок может быть почти пустым. Поэтому стандартные лимиты на общий размер декодированных заголовков не срабатывают: декодировать почти нечего. Нагрузка появляется в другом месте — во внутренних структурах, которые сервер создаёт для каждой записи и каждого заголовка.
Дальше включается вторая половина атаки. Атакующий выставляет нулевое окно управления потоком для ответа сервера. Сервер не может завершить отправку ответа и не очищает память, выделенную на обработку запроса. Небольшие WINDOW_UPDATE-фреймы позволяют держать поток живым и не дать соединению быстро умереть по тайм-ауту.
Так атакующий отправляет мало данных, а сервер удерживает в памяти огромный объём служебных структур. Это не классический DDoS, где нужны тысячи машин и большой поток мусорного трафика. В лабораторных тестах Calif одной машины с каналом 100 Мбит/с хватало, чтобы быстро забить память уязвимого сервера.
Хуже всего в тестах выглядели Envoy и Apache HTTP Server. Для Envoy 1.37.2 исследователи получили примерно 32 Гбайт занятой памяти за 10 секунд. Apache httpd 2.4.67 доходил до 32 Гбайт примерно за 18 секунд. nginx 1.29.7 занимал около 32 Гбайт за 45 секунд. Microsoft IIS на Windows Server 2025 набирал 64 Гбайт примерно за 45 секунд.
Коэффициент усиления тоже различался. У Envoy он доходил примерно до 5700:1, у Apache — до 4000:1. nginx и IIS показали меньшие значения — около 70:1 и 68:1, но этого всё равно хватало для быстрой деградации при прямой доступности HTTP/2-эндпоинта.
Исправления уже начали выходить. nginx закрыл проблему в версии 1.29.8, где появился параметр max_headers с лимитом по умолчанию. Apache исправил поведение в mod_http2 2.0.41, а проблеме присвоили CVE-2026-49975. Envoy выпустил исправления 3 июня, но администраторам всё равно стоит проверить конкретную версию и настройки развёртывания.
Для IIS и Cloudflare Pingora в ранних публичных разборах готовых патчей не было. HAProxy заявил, что его архитектура не подвержена перегрузке этим эксплоитом из-за строгих ограничений памяти, но всё равно предложил конфигурационные меры для отсечения вредных клиентов на периметре.
Calif пишет, что атаку обнаружил Codex под контролем исследователей. Модель прочитала кодовые базы, увидела две старые техники и помогла собрать их в рабочую цепочку.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.