CVE-2024-24795
Apache HTTP Server: HTTP response splitting через backend headers
CVE-2024-24795 затрагивает Apache httpd до 2.4.59, если backend-приложение может внедрить вредоносные response headers. Возможен HTTP desynchronization; обновитесь до 2.4.59 или новее и проверяйте backend отдельно.
Кому нужно проверить
Администраторам Apache HTTP Server и разработчикам backend-приложений, формирующих HTTP response headers. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
Неправильно нейтрализованные значения заголовков могут разделить HTTP response и вызвать рассинхронизацию интерпретации между прокси и клиентом. Это может влиять на соседние запросы в цепочке; сценарий требует возможности контролировать заголовки backend и сам по себе не означает захват сервера.
Затронутые версии
Apache HTTP Server 2.4.0–2.4.58 затронут, если атакующий может внедрить вредоносные response headers в backend application. Исправление охватывает несколько модулей; реальное влияние зависит от backend, proxy-цепочки и обработки ответов.
Исправленные версии
Исправлено в Apache HTTP Server 2.4.59. Используйте актуальный поддерживаемый выпуск или пакет ОС с backport и проверьте связанные backend-приложения, которые формируют заголовки ответа.
Что сделать
- 1Определите версию Apache, задействованные модули и backend, способные отражать пользовательские данные в response headers.
- 2Обновите httpd до 2.4.59 или актуального исправленного пакета с учётом backport. Проверьте изменение на staging за reverse proxy и сохраните возможность отката.
- 3Исправьте генерацию backend headers: значения должны проходить безопасную валидацию и не содержать CR/LF. Не полагайтесь только на proxy-фильтр и не копируйте пользовательский ввод в заголовки.
- 4После выкладки проверьте обычные ответы, кэширование и работу цепочки proxy; изучите ошибки и необычное число запросов. Не используйте реальные пользовательские данные в тестовых заголовках.
Проверка заголовков в цепочке Apache/backend
Убедитесь, что backend не переносит непроверенный ввод в HTTP headers.
- 1Backend формирует response headers
- 2Apache передаёт и обрабатывает ответ
- 3Проверить безопасную валидацию значений
- 4Обновить httpd и проверить proxy-цепочку
Примеры конфигурации и проверки
apachectl -tКоманда проверяет конфигурационный синтаксис Apache и не перезапускает службу. Она не анализирует заголовки backend и не доказывает отсутствие response splitting; проверяйте и исходный код приложения.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.