CVE-2023-25690
CVE-2023-25690: request smuggling в отдельных конфигурациях Apache mod_proxy
Проверьте Apache HTTP Server 2.4.0–2.4.55, если включён mod_proxy и правила RewriteRule или ProxyPassMatch отражают части URL пользователя в проксируемый запрос. Обновите до исправленной версии и проверьте proxy routing и ACL.
Кому нужно проверить
Администраторам Apache HTTP Server, reverse proxy и веб-шлюзов, использующих mod_rewrite, mod_proxy, RewriteRule или ProxyPassMatch. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
Request splitting/smuggling может привести к обходу ACL на proxy, отправке непредусмотренных URL существующим origin-серверам или отравлению кэша. Риск возникает при конкретной конфигурации передачи пользовательского URL в proxied request.
Затронутые версии
Apache HTTP Server 2.4.0–2.4.55. Уязвимы не все установки: требуется mod_proxy и определённая конфигурация RewriteRule/ProxyPassMatch, где неспецифичный шаблон захватывает часть пользовательского request-target и подставляет её в proxied request-target.
Исправленные версии
Исправлено upstream в Apache HTTP Server 2.4.56. Для дистрибутивов проверяйте backport: Canonical, например, перечисляет исправленные пакеты для Ubuntu 24.04, 22.04, 20.04 и 18.04, которые могут сохранять более ранний upstream номер.
Что сделать
- 1Проверьте модульность и конфигурацию Apache: активность mod_proxy, правила RewriteRule и ProxyPassMatch, а также передачу захваченных частей URL в адрес backend. Рассматривайте конфигурацию целиком, а не наличие модуля само по себе.
- 2Сохраните резервную копию конфигурации и обновите Apache до 2.4.56 или исправленного пакета дистрибутива; на production сначала проверьте правила маршрутизации на staging.
- 3Если обновление задерживается, временно отключите или перепишите только затронутое правило так, чтобы пользовательская часть request-target не копировалась небезопасно в proxied URL; протестируйте влияние на приложения.
- 4После выкладки проверьте конфигурацию, маршруты proxy, ACL, поведение кэша и журналы; подтвердите пакетную версию с учётом backport.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.