Все уязвимости

CVE-2024-38474

Apache mod_rewrite: encoded question mark в подстановках

CVE-2024-38474 затрагивает mod_rewrite в Apache httpd до 2.4.60: ошибочная обработка кодирования в backreference может открыть CGI source или запустить script в доступном, но не адресуемом каталоге. После обновления пересмотрите правила.

Проверено 30 октября 2026Apache оценивает CVE-2024-38474 как Important. CVE Program/CISA enrichment публикует CVSS 3.1 8.1 High; это отдельная оценка, а не Apache severity.

Кому нужно проверить

Администраторам Apache HTTP Server и разработчикам приложений со сложными mod_rewrite правилами и CGI. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

Кодирование знака вопроса в обратной ссылке может изменить интерпретацию подстановки. При подходящей конфигурации доступ к скрипту, который не должен быть доступен напрямую, может раскрыть его исходник или запустить его в CGI-контексте.

Затронутые версии

Затронут Apache HTTP Server 2.4.0–2.4.59 с уязвимыми подстановками mod_rewrite и encoded question marks в backreferences. В зависимости от доступных каталогов и CGI-настроек возможны раскрытие исходников CGI или запуск скрипта. Не всякий RewriteRule уязвим.

Исправленные версии

Исправлено в Apache HTTP Server 2.4.60. После фикса некоторые RewriteRules с небезопасным захватом и подстановкой перестают работать без флага UnsafeAllow3F; не добавляйте этот флаг без анализа конкретного правила.

Что сделать

  1. 1Проверьте версию httpd и все RewriteRule с backreferences, особенно правила, которые обрабатывают внешние URL и направляют запросы в CGI-каталоги.
  2. 2Обновите Apache до 2.4.60 или актуального поддерживаемого пакета. Сохраните конфигурацию и проверьте правила на staging, поскольку часть небезопасных подстановок может изменить поведение.
  3. 3Если после обновления правило перестало работать, перепишите его с явным ограничением допустимых значений и каталогов. Не добавляйте UnsafeAllow3F автоматически: флаг снимает дополнительную защиту и требует ручной проверки.
  4. 4После выкладки проверьте обычную маршрутизацию, доступ к CGI и каталоги сайта; убедитесь, что исходные файлы и секреты не отдаются клиенту. Изучите журналы запросов за период риска.

Как подстановка mod_rewrite влияет на CGI

Значение backreference проходит интерпретацию правила до выбора обработчика.

  1. 1Получить URL и backreference
  2. 2Проверить кодирование и подстановку
  3. 3Определить выбранный путь и handler
  4. 4Обновить правило и проверить CGI-доступ

Примеры конфигурации и проверки

Проверить синтаксис конфигурации Apache (shell)
apachectl -t

Запускайте на целевом сервере до перезагрузки; команда проверяет синтаксис и ничего не меняет. Она не доказывает безопасность конкретных RewriteRule — сопоставьте их с фактическими маршрутами и CGI-настройками.

Как не подпустить ботов к сайту

BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.

Первоисточники

Снизьте шанс атаки до того, как бот дойдёт до сайта

Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.