CVE-2023-44487

IETF HTTP/2

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2023-10-10

Официальное описание

HTTP/2 contains a rapid reset vulnerability that allows for a distributed denial-of-service attack (DDoS).

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2023-44487, известная как «HTTP/2 Rapid Reset», эксплуатирует особенность обработки потоков в протоколе HTTP/2. Злоумышленник отправляет запрос на открытие потока (фрейм HEADERS) и немедленно отправляет фрейм отмены (RST_STREAM).

Поскольку стандарт HTTP/2 не ограничивает количество таких операций в секунду, атакующий может генерировать миллионы запросов, которые сервер обязан обработать на уровне протокола до того, как они будут отменены. Это приводит к критическому потреблению ресурсов CPU и памяти на стороне сервера, вызывая отказ в обслуживании (DDoS), при этом объем сетевого трафика может оставаться сравнительно небольшим.

Как исправить

Основной способ устранения — обновление серверного ПО до версий, в которых реализованы алгоритмы контроля скорости создания и сброса потоков.

Nginx Обновитесь до версий 1.25.3, 1.24.0 (с патчем) или выше.

apt update && apt upgrade nginx

Apache HTTP Server Обновитесь до версии 2.4.58 или выше.

apt update && apt upgrade apache2

Kubernetes (Ingress Nginx) Обновите контроллер до версии v1.9.4 или выше.

kubectl set image deployment/ingress-nginx-controller controller=registry.k8s.io/ingress-nginx/controller:v1.9.4

Microsoft IIS Установите последние накопительные обновления безопасности через Windows Update.

Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot

Временные меры

Если немедленное обновление невозможно, примените следующие настройки для ограничения воздействия атаки.

Для Nginx (ограничение количества запросов в одном соединении): Внесите изменения в конфиг (секция http или server):

keepalive_requests 1000;
http2_max_concurrent_streams 128;

Для Apache (ограничение параллельных потоков): В файле конфигурации модуля mod_http2:

H2MaxSessionStreams 100
H2MaxAnyPriorityStreams 10

Использование Web Application Firewall (WAF): Настройте правила ограничения частоты (Rate Limiting) для HTTP/2 соединений на уровне Cloudflare, AWS WAF или локального решения.

Отключение HTTP/2 (Крайняя мера): Если атака продолжается и другие меры не помогают, временно отключите поддержку HTTP/2, оставив только HTTP/1.1. Для Nginx (удалите http2 из директивы listen):

listen 443 ssl;