CVE-2023-45802
CVE-2023-45802: рост потребления памяти в Apache HTTP/2
Проверьте Apache HTTP Server 2.4.17–2.4.57 с HTTP/2: при серии сброшенных потоков память запроса могла удерживаться до закрытия соединения. Обновитесь до 2.4.58 или исправленного пакета дистрибутива.
Кому нужно проверить
Администраторам Apache HTTP Server с включённым HTTP/2, особенно reverse proxy и публичных серверов с долгими соединениями. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
Клиент может отправлять новые HTTP/2 запросы и сбрасывать их, сохраняя соединение открытым; удержание буферов может накапливать расход памяти и в итоге исчерпать ресурсы процесса.
Затронутые версии
Apache HTTP Server 2.4.17–2.4.57 включительно. Проблема связана с HTTP/2: после RST потока ресурсы запроса могли не освобождаться до закрытия соединения. Apache отмечает низкую вероятность заметного эффекта при обычном использовании; длительные соединения с повторяющимися потоками повышают риск расхода памяти.
Исправленные версии
Исправлено в Apache HTTP Server 2.4.58. Для дистрибутивов учитывайте backport: Canonical указывает исправленные пакеты, например, для Ubuntu 24.04, 22.04 и 20.04, где базовый upstream номер ниже 2.4.58.
Что сделать
- 1Проверьте версию Apache и включение HTTP/2 в фактических виртуальных хостах/прокси; выясните, не исправлен ли дистрибутивный пакет backport-ом.
- 2Обновите до Apache 2.4.58 или пакета ОС с подтверждённым исправлением. Для систем, где обновление требует планирования, оцените нагрузку и подготовьте откат конфигурации/пакета.
- 3До обновления наблюдайте за памятью процессов Apache, длительностью соединений и ошибками, но не подвергайте production стресс-тестам с массовыми reset-запросами. Временное отключение HTTP/2 допустимо только после оценки последствий для клиентов и прокси.
- 4После обновления проверьте версии модулей, перезапустите службу по процедуре ОС и наблюдайте за памятью и журналами под обычной нагрузкой.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.