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

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 1552
Зарегистрирован: 20.08.2022

#

Атака на реализации HTTP/2, приводящая к исчерпанию доступной памяти
Дата публикации:Thu, 04 Jun 2026 15:08:13 +0300

Раскрыта информация об уязвимости "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 и выставить ограничение на размер памяти, доступный для рабочих процессов.

Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=65616

Жизнь за Нер'зула!

Ответить