The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Атака на реализации HTTP/2, приводящая к исчерпанию доступной памяти

04.06.2026 15:08 (MSK)

Раскрыта информация об уязвимости "HTTP/2 Bomb", затрагивающей различные реализации протокола HTTP/2 и позволяющей добиться отказа в обслуживании через исчерпание всей доступной процессу памяти. Наличие проблемы подтверждено в HTTP-серверах nginx, Apache httpd (CVE-2026-49975), Microsoft IIS, Envoy (CVE-2026-47774) и Cloudflare Pingora в конфигурации по умолчанию.

Уязвимость использует метод, напоминающий zip-бомбу, применяемую к функциональности сжатия заголовков в HTTP/2. Идея в том, что запрос может содержать тысячи сжатых заголовков, таких как "Cookie", без прикреплённых данных, каждый из которых в запросе представлен однобайтовой ссылкой в индексе HPACK, но на сервере требует полноценного выделения памяти под весь заголовок. Уровень расходования памяти в различных HTTP-серверах варьируется от примерно 70 байт на каждый байт в индексе для nginx, IIS и Pingora, до 4000 байт в Apache httpd и 5700 в Envoy. При атаке с потребительского компьютера, имеющего канал связи 100Mbps, для исчерпания 32 ГБ памяти требуется примерно 10 секунд при атаке на сервер с Envoy 1.37.2, 18 секунд - Apache httpd 2.4.67 и 45 секунд - nginx 1.29.7.

Для блокирования уязвимости в выпуске nginx 1.29.8 из проекта freenginx была перенесена директива max_headers, по умолчанию допускающая обработку не более 1000 заголовков. В Envoy исправление включено в состав выпусков 1.35.11 и 1.36.7, в которых реализованы лимиты mutable_max_request_headers_kb и max_headers_count. В Apache httpd исправление предложено в выпуске модуля mod_http2 2.0.41, который ещё не вошёл в релизы Apache httpd. Для Microsoft IIS и Cloudflare Pingora исправления пока отсутствуют. В качестве обходного пути защиты можно отключить использование протокола HTTP/2 и выставить ограничение на размер памяти, доступный для рабочих процессов.

Дополнение: HTTP-сервер Angie не подвержен уязвимости, поскольку перенес защиту от этой атаки из freenginx ещё в версии 1.8.0, вышедшей в 2024 году.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Использование zip-бомбы для борьбы с вредоносными web-ботами
  3. OpenNews: Представлена техника совершения DoS-атаки через отправку PNG-бомбы
  4. OpenNews: Уязвимость в протоколе HTTP/2, задействованная в крупнейшей DDoS-атаке
  5. OpenNews: Атака Continuation flood, приводящая к проблемам на серверах, использующих HTTP/2.0
  6. OpenNews: Уязвимость в реализациях протокола HTTP/2, упрощающая проведение DoS-атак
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65616-http2
Ключевые слова: http2, dos, nginx, apache, httpd, iis, envoy, cloudflare, pingora
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (78) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 15:33, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    >добиться отказа в обслуживании через исчерпание всей доступной процессу памяти. Наличие проблемы подтверждено в HTTP-серверах Cloudflare Pingora в конфигурации по умолчанию

    А как же хваленый секуриту раст и его боров чекер?

     
     
  • 2.3, User (??), 15:46, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дело не в расте, а в самой логике HTTP/2, по-сути ошибка (неопределённость) в самом стандарте. PS не фанатик ржавого.
     
  • 2.5, Аноним (5), 15:50, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Тут не просто утечка, а атака.
    https://github.com/cloudflare/pingora
     
     
  • 3.106, Аноним (106), 22:02, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Тут не просто атака, а фейерическая неспособность спланировать архитектуру системы. Когда все мысли погружены в раст, думать уже нечем.
     
  • 2.7, Аноним (7), 15:54, 04/06/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.96, xPhoenix (ok), 21:20, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Приплеталити сотого уровня.

    А как же исчерпание IP-адресов на сервере DHCP при подмене MAC-адреса в пакетах? Тоже Rust виноват?

     
     
  • 3.107, Аноним (106), 22:04, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Странно, но в любых реальных ситуациях раст не помогает, а лишь отвлекает.
     

  • 1.2, НяшМяш (ok), 15:45, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Мертворождённый протокол. Не зря гугл быстро прыгнул делать QUIC/HTTP3.
     
     
  • 2.8, Аноним (5), 15:54, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    https://blog.cloudflare.com/quic-death-spiral-fix/
     
     
  • 3.91, Аноним (106), 21:02, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > можно отключить использование протокола HTTP/2

    ^^^ вот лучшее решение проблемы ^^^

     
  • 2.9, 12yoexpert (ok), 15:54, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +6 +/
    и QUIC/HTTP3 юзерам тоже не нужен, UX на гигабайтных гугловых жс-помойках вроде ютуба от этого никак не изменится
     
  • 2.12, Аноним (12), 15:57, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А можно TCP/HTTP3 ?
     
     
  • 3.23, Аноним (23), 16:02, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Можно. Тебе нужно, ты и делай
     
  • 2.35, Ilya Indigo (ok), 16:17, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вот только без HTTP2 (вам же нужно мультиплексирование, иначе зачем вам тогда HTTP3) ваш HTTP3 физически работать НЕ может! Сам HTTP3 НЕ может без HTTP2 сообщать клиенту что он есть! Вот такой прекрасный протокол!
     
     
  • 3.84, Поп (?), 20:42, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А кто мешает стучаться сразу в UDP/443 вместо TCP/443?

    Вполне себе HTTP/3 умеет работать без HTTP/2

     
     
  • 4.92, Ilya Indigo (ok), 21:16, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А кто мешает стучаться сразу в UDP/443 вместо TCP/443?

    Ни один браузер не стучится сразу на UDP.
    Если вы не откроете TCP то пользователи к вам не попадут.

     
     
  • 5.105, 12yoexpert (ok), 21:46, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну да, у нас же кроме браузеров ничего нет

    веб-синьоры совсем одичали

     
     
  • 6.109, Ilya Indigo (ok), 22:11, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ну да, у нас же кроме браузеров ничего нет
    > веб-синьоры совсем одичали

    А на кой чёрт для API нужен HTTP/3?

     
     
  • 7.112, 12yoexpert (ok), 22:47, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    у гугла спроси
     
  • 3.95, Tron is Whistling (?), 21:19, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Щито? Прекрасно сообщается через хедер HTTP/1
     
     
  • 4.103, Ilya Indigo (ok), 21:38, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Щито? Прекрасно сообщается через хедер HTTP/1

    HTTP/1 не поддерживает мультиплексирование, первые запросы через него будет медленными.
    А если вам НЕ нужно мультиплексирование зачем  тогда вам вообще нужен HTTP/3?

     
     
  • 5.110, Tron is Whistling (?), 22:15, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Какие "первые запросы", какое мультиплексирование, о чём вы?
    Отправили самый первый, получили хедер о наличии h3 alpn, ушли на H3.
     

  • 1.4, Stanislavvv (ok), 15:48, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Тут логическая ошибка — требуется выделять память под заголовки, которых тупо дохера и без лимита. Раст такое не ловит. А если таки будет ловить просто компилятором без иишки — постараюсь на него перейти.

    UPD: странный глюк сайта — я нажимал ответить на коммент, а не что-то там.

     
     
  • 2.20, Аноним (12), 16:01, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Нужен новый язык, обнаруживающий выход за пределы доступной процессу памяти.
     
     
  • 3.52, Смузихеб забывший пароль (?), 17:07, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    наверняка что-то подобное есть
    в том же яблочном Obj-C целое событие имелось, которое система "дёргала" когда свободной ОЗУ оставалось мало, чтобы процессы выкинули все не нужные на текущий момент данные из памяти для её освобождения
     
  • 2.42, Аноним (42), 16:29, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Раст такое не ловит.

    Ну началось...

     
  • 2.78, Аноним (78), 19:34, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А если нет разницы, то зачем прогибаться под корпоРАСТов?
     

  • 1.16, Doom (??), 15:59, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вполне нормальное логичное развитие.
    Даже with-security-in-mind сходу ограничить число заголовков мало кому получится в своем продукте при реализации нового протокола.
     
  • 1.18, Аноним (18), 16:00, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а caddy чего?
     
     
  • 2.22, Аноним (5), 16:02, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Незаметен:
    https://www.netcraft.com/blog/march-2026-web-server-survey
     

  • 1.19, Аноним (19), 16:01, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    За исключением крупняка из топ-500, HTTP/2 и тем более QUIC, абсолютно не нужны. Даже более - из-за чрезмерного усложнения протоколов остальному интернету сильно вредны (security + возрастание энтропии посредством бесполезного подогрева вселенной)
     
     
  • 2.24, Аноним (18), 16:05, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > посредством бесполезного подогрева вселенной

    а если фотоны пролетят мимо Земли, то они подогреют вселенную очень полезно, ага

     
     
  • 3.28, 12yoexpert (ok), 16:11, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ты забываешь про АЭС, а через 20 лет будет готов управляемый термояд
     
     
  • 4.33, Аноним (18), 16:16, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    хахаха, этой мантре уже лет 40, собственно, энергия звезд она одна, панелькой солнечной ловить фотоны свежие или в недрах планеты находить тяжелые элементы, которые остатки прошлых звезд, значения не имеет. управляемый термояд, ну мб, тогда энергия водорода, который еще собрать надо, или не надо, можно подождать пока сам в звезду завернется.
     
     
  • 5.37, 12yoexpert (ok), 16:19, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > значения не имеет

    имеет, попробуй подумать

     
     
  • 6.48, Аноним (18), 17:01, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    энергия вселенной есть константа, закон сохранения энергии есть база, в контексте "бессмысленого обогрева" вселенной значения что и как вы в этой вселенной будете делать не имеет абсолютно никакого, поскольку любое действие именно подогревом вселенной и является.
     
     
  • 7.67, 12yoexpert (ok), 18:17, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    теперь посмотри на E=mc^2 и попробуй ещё раз
     
  • 7.113, Аноним (19), 22:50, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >энергия вселенной есть константа

    Это ты откуда знаешь? Откровение случилось - свыше нашептали?
    А, вообще-то, я говорил про возрастание энтропии (читай внимательнее). Надеюсь энтропия у тебя не константа.

     
  • 5.39, Аноним (7), 16:21, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну как бы токомак уже запустили на 20 минут, пару лет назад рекорд был полторы минуты.
     
     
  • 6.43, Аноним83 (?), 16:54, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А вас не смущает что и токомак и ядерный реактор выдают не электричество а тепло?
    Я намекаю что и то и другое не шибко практичное, и надо было не тратить 80% усилий на допил ядерного реактора до токомака а заниматся научными изысканиями в другую сторону.
     
     
  • 7.47, Аноним (7), 16:58, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В Cloverfield уже обыграли, к чему это приводит. :>
     
  • 7.55, Смузихеб забывший пароль (?), 17:18, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    дело даже не в тепле, а в том, как ту энергию конкретно с термояда снимать
    одним из вариантов ещё советских времён был МГД-генератор, там плазма стенок не касалась но КПД "так себе"

    Температура плазмы такова, что вполне испарит поверхность теплообменника прежде, чем тот успеет прогреться
    А нейтронное излучение не позволяет длительно снимать даже фотонное излучение, т.к оптика мутнеет, а камера д.б герметичной - т.е просто дырку через которую идёт свет не сделать.
    Конструкции в общем становятся радиоактивными от нейтронов. Многие - охрупчиваются. А ведь обещали полную радиационную безопасность "ввиду отсутствия применения изотопов".

    Только подумать, сколько за последние десятилетия "учёные" и "академики" с умным видом на этой хрени грантов и финансирования распилили

     
  • 6.44, Аноним (18), 16:55, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и? то что они там плазму удержали не значит что эффект был, а сколько времени пройдет прежде чем начнут их штамповать на конвеере, да и с учетом дегобализации начнут ли?
     
     
  • 7.60, Аноним (7), 17:33, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Урана на 200 лет остаётся, нефти на 50. Если энергия может быть получена из более доступных ингредиентов, исследовать такую возможность имеет смысл.
     
     
  • 8.62, Аноним (18), 17:52, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    хоть видосики на ютубе поглядите, эту сказку придумали еще до того как построили... большой текст свёрнут, показать
     
     
  • 9.65, Аноним (7), 18:03, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ща бы ютубу верить Наиболее доступные ресурсы давно исчерпаны, уже пришло время... текст свёрнут, показать
     
     
  • 10.77, Аноним (18), 19:31, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    не верьте, но на иных площадках написано ровно тоже самое, конечно можно не вери... большой текст свёрнут, показать
     
  • 8.63, Аноним (63), 17:54, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Тут у каждого девиз после нас хоть потоп ... текст свёрнут, показать
     
     
  • 9.66, Аноним (18), 18:04, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а что в этом удивительного мир продолжает катиться в ад, одни там за меньшинств... текст свёрнут, показать
     
  • 4.34, Аноним83 (?), 16:17, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он уже лет 60 как будет готов через 20 лет :)
     
  • 2.40, Аноним83 (?), 16:22, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    HTTP/2 и тем более QUIC очень нужен тем кто как гугл берёт деньги за якобы показ рекламы.
    С ними всегда можно сказать: тут юзер пробегал мимо, мы ему вашу рекламу показали, мамой клянёмся - вот же UDP отправили!

    А спрашивал юзер или у него банерорезалка всё порезала - не важно, ведь мы ему заранее всё самое нужное теперь отправить можем!

    Кто то в гугле на этом не одну яхту себе купил.

     

  • 1.30, BratishkaErik (ok), 16:11, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    https://blog.calif.io/p/codex-discovered-a-hidden-http2-bomb

    > Credits:
    > * Quang Luong for discovering the exploit. He'll be presenting his techniques at the upcoming Real World AI Security conference at Stanford in June.
    > * Jun Rong and Duc Phan for confirming the attack on other web servers.

    Нашли с помощью Codex.

     
  • 1.41, Аноним (41), 16:24, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надо было останавливаться на HTTP/1.0.
     
     
  • 2.45, Аноним83 (?), 16:56, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    1.0 неудобен, там connection: close всегда по стандарту.
     
  • 2.57, Annonymous (?), 17:27, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Надо было останавливаться на HTTP/1.0.

    1.1 же + websocket, с которым однако как-то больше всё на совести самих использующих.

    webpush ещё надо запретить ))

     
  • 2.76, Аноним (5), 19:27, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    https://opennet.ru/52129-http
     
     
  • 3.79, Аноним (41), 19:43, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Забавно смотреть подобные графики когда всё связанное с интернетом тормозит и замедляется ещё сильнее с каждой новой технологией.
     

  • 1.49, жявамэн (ok), 17:02, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну что caddy как обычно лучший веб сервер
     
     
  • 2.64, Аноним (18), 17:55, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    300 мегабайт на соединение в дефолтном конфиге, ну такое себе, 100 соединений и прощай 30гб дорогущей озу.
     
     
  • 3.82, q (ok), 20:27, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если бы это было так, то мы бы видели, как сайты на caddy недоступны 95% времени. Но поскольку это не так, то можно сказать с уверенностью, что с фантазией у тебя всё в порядке 👍
     
     
  • 4.86, Аноним (18), 20:44, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    так сказал ии, я не поленился спросить, ну даже если он ошибся на 2 порядка, такое себе
     
     
  • 5.90, q (ok), 20:59, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "ИИ сказал" -- это новый аналог "одна бабка сказала"?
     
     
  • 6.99, Аноним (18), 21:26, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    нууу, наверное да, но это аргумент, а контр аргументов я чтото не вижу, а выяснять, хоть у меня и есть сервер caddy , мне лень, поэтому 1 - 0 в пользу
     
     
  • 7.108, q (ok), 22:09, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Контр-аргумент привел: если бы Caddy требовал хоть 30, хоть 3, хоть 0,3 метра per connection, то мы бы там и тут видели серверы с 5% аптаймом. Поскольку мы их не видим, то Caddy не настолько прожорлив, как ты тут втираешь без доказательств.
     

  • 1.69, Аноним (106), 18:36, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Наличие проблемы подтверждено в ... Cloudflare Pingora в конфигурации по умолчанию.

    Нормально так, главный файервол планеты - и тот с проблемами.

     
     
  • 2.70, Аноним (5), 18:42, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Проще задаться вопросом, а какой вообще есть проект без багов или уязвимостей ?
     
     
  • 3.71, Аноним (106), 18:46, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Такое в суде почему-то не прокатывает: "Кто тут безгрешен? ... ".
     
     
  • 4.72, Аноним (5), 18:56, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Кто тут безгрешен?

    А что поделать, тут с Copy Fail ещё эпопея не закончилась:
    https://opennet.ru/65504-kernel

     

  • 1.74, YetAnotherOnanym (ok), 19:04, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > запрос может содержать тысячи сжатых заголовков, таких как "Cookie", без прикреплённых данных, каждый из которых в запросе представлен однобайтовой ссылкой в индексе HPACK, но на сервере требует полноценного выделения памяти под весь заголовок
    > директива max_headers, по умолчанию допускающая обработку не более 1000 заголовков

    А вообще не выделять сразу память под такой заголовок?

     
  • 1.94, Tron is Whistling (?), 21:18, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    haproxy не подвержен, прошёл мимо.
     
  • 1.102, Аноним (102), 21:36, 04/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    такое бывает когда схема протокола абстрактно описана и нет никаких ограничений в самом протоколе. только на уровне отдельных непонятных параметров серверов

    и то, разработчики серверов узнают об этом на этапе CVE))

     
     
  • 2.111, Tron is Whistling (?), 22:17, 04/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так-то выделение памяти под хедеры - не проблема протокола.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру