Apache HTTP Server является одним из самых популярных и широко используемых веб-серверов в мире, обеспечивая стабильную и эффективную работу миллионов сайтов. Благодаря открытому исходному коду и поддержке сообщества, Apache постоянно развивается и улучшает свою безопасность. Однако в начале 2025 года была обнаружена критическая уязвимость с идентификатором CVE-2025-54090, которая затрагивает модуль mod_rewrite и вызывает некорректное поведение директивы RewriteCond с использованием выражений (expr). Эта проблема потенциально может привести к серьёзным сбоям в работе веб-приложений, нарушению логики маршрутизации запросов и созданию уязвимых точек доступа. Уязвимость CVE-2025-54090 связана с тем, что начиная с версии Apache HTTP Server 2.
4.64 все условия, заданные через конструкцию RewriteCond expr, всегда оцениваются как истинные. Иными словами, логическая проверка, которая должна определять выполнение или пропуск определённых правил переписывания URL, перестаёт корректно работать. Это связано с ошибкой в коде модуля mod_rewrite, которая искажает поведение функции оценки выражений, приводя к тому, что условие не зависит от реально заданного критерия. В результате правила, зависящие от RewriteCond expr, срабатывают всегда, что нарушает работу маршрутизации запросов и может использоваться злоумышленниками для обхода мер безопасности.
Модуль mod_rewrite исторически является одним из самых мощных и гибких инструментов Apache для управления перенаправлениями, перенаписыванием URL, контролем доступа и другими задачами. Благодаря поддержке сложных логических выражений через директиву RewriteCond с параметром expr, администраторы получают возможность формировать детальные и динамичные условия. Однако именно этот механизм оказался подвержен критической ошибке, обнаруженной в 2.4.64 версии Apache.
В коде модуля произошёл регресс, который нарушает логику определения результата проверки условия. Технически проблема проявляется в функции apply_rewrite_cond, где происходит некорректное присвоение результата проверки. Ранее в модуле mod_rewrite проверка условий с выражениями корректно возвращала результат true или false в зависимости от логического выражения, а после обновления появилась ошибка, из-за которой результат всегда становился положительным. В исправленной версии 2.4.
65 внесли корректировки, которые устраняют эту неисправность, восстанавливая корректную оценку условий. Последствия ошибки CVE-2025-54090 могут быть серьёзными для серверов, где переписывание URL используется для контроля доступа, ограничения функционала или распределения нагрузки. Постоянное истинное значение условия может приводить к тому, что правила, предназначенные для блокировки нежелательного трафика, просто игнорируются, а маршрутизация запросов становится некорректной. В некоторых сценариях это открывает путь для обхода переписанных правил, что повышает риски возникновения уязвимостей, позволяющих получить несанкционированный доступ или нарушить работу сервиса. Серьёзность уязвимости привлекла повышенное внимание к вопросам поддержки и обновления веб-серверов на базе Apache HTTP Server.
Администраторам рекомендуется в кратчайшие сроки обновить сервер до версии 2.4.65, где ошибка исправлена. Кроме того, важным является проведение детального аудита конфигурационных файлов mod_rewrite для выявления потенциально уязвимых правил. Рекомендуется избегать создания избыточно сложных условий и при необходимости тестировать работу ссылок и редиректов в контролируемой среде.
Отдельно стоит отметить, что открытая архитектура Apache позволяет быстро реагировать на выявленные уязвимости и вносить изменения. Сообщество разработчиков активно поддерживает безопасность сервера, выпускает патчи и обновления. Исчезновение таких регрессий — важная часть поддержания доверия к серверу, особенно для сайтов с высокими требованиями к безопасности. Для пользователей, управляющих своими собственными инстансами Apache, крайне важно внедрять процессы мониторинга и обновления программного обеспечения. Использование устаревших версий, особенно в продакшен-средах, несёт значительные риски.
Случай CVE-2025-54090 демонстрирует, как даже одна ошибка в коде может повлиять на безопасность и стабильность инфраструктуры. Наряду с обновлениями, профилактические меры включают резервное копирование конфигураций и данных перед установкой новых версий, а также регулярное тестирование функционирования веб-приложений. В случаях, когда обновление сразу невозможно, стоит рассмотреть временные решения, например, отключение использования переписывания URL с выражениями через RewriteCond expr, чтобы минимизировать экспозицию угрозы. Таким образом, уязвимость CVE-2025-54090 стала серьёзным сигналом для всего сообщества пользователей Apache HTTP Server о важности постоянного контроля за безопасностью и актуальностью серверных решений. Правильное и своевременное обновление, а также внимательный аудит конфигураций помогают обеспечить надёжную защиту и предотвращают проблемы, связанные с некорректным поведением функциональных модулей.
Внедрение лучших практик по безопасности и поддержка программного обеспечения на актуальном уровне являются неотъемлемой частью успешной эксплуатации веб-серверов в современных условиях.