Apache HTTP Server 2.4.69 закрывает двадцать уязвимостей, включая запуск файлов из CGI-каталогов

Apache

В ветке 2.4 веб-сервера Apache накопилось двадцать уязвимостей, которые исправили в версии 2.4.69. Пятнадцать из них отнесли к низкой степени опасности, пять - к средней. Критических и высоких среди них нет, однако одна ошибка позволяет в отдельных конфигурациях выполнить на сервере файл, который администратор считал обычным текстом или картинкой.

Детали уязвимостей

Речь о неверном выборе обработчика при внутренних перенаправлениях. CGI-программа (скрипт, который сервер запускает для формирования ответа) может перенаправить запрос на файл, лежащий в каталоге, где исполнение CGI разрешено. Если у файла нет расширения, известного модулю mod_mime, сервер способен принять его за CGI и запустить. Сработает это при трёх условиях сразу: каталог открыт для CGI, внутреннее перенаправление указывает именно на него, а расширение файла ни о чём серверу не говорит. Уязвимость получила идентификатор CVE-2026-42356 и затрагивает версии с 2.4.60 по 2.4.68, то есть появилась относительно недавно.

Заметный случай средней степени опасности связан с mod_vhost_alias, модулем для массовой обработки виртуальных узлов. Когда в настройках имя узла подставляется в путь к документам, а предельный размер поля заголовка поднят выше стандартного, запрос с заголовком Host длиннее 8192 байт вызывает переполнение буфера в стеке. Параметр LimitRequestFieldSize по умолчанию как раз не даёт провести такую атаку. Если его увеличили вручную, последствия варьируются от отказа в обслуживании до выполнения произвольного кода на сервере.

Гонка в mod_http2 приводит к обращению к освобождённой памяти: повторный вход в общий буфер сессии ломает логику работы протокола HTTP/2. Ещё одна ошибка затрагивает только Windows. При разборе путей с короткими именами в формате 8.3, которые при раскрытии становятся длиннее, сервер записывает данные за границами буфера.

Две уязвимости приходятся на модули семейства WebDAV, расширения для работы с файлами на сервере как с сетевым диском. Ошибка в расчёте памяти в mod_dav позволяет злоумышленнику, у которого есть право создавать блокировки, ронять дочерние процессы сервера. Целочисленное переполнение в mod_dav_fs опаснее: клиент с правом записи, отправив запрос на изменение свойств с большим числом объявленных пространств имён XML, валит рабочие процессы и необратимо портит базу свойств каталога. Восстановить её после такой операции непросто.

Отдельная группа ошибок собрана в mod_auth_digest, модуле дайджест-аутентификации. Первая позволяет неаутентифицированному клиенту подделывать заголовки авторизации и принуждать сервер к повторной проверке учётных данных, пока включена сверка счётчика одноразовых номеров. Вторая даёт атакующему "человек посередине" возможность повторно использовать перехваченные данные, если время жизни одноразового значения выставлено в ноль. Третья ведёт к повреждению состояния аутентификации при одновременных запросах. Все три требуют, чтобы дайджест-аутентификация была включена и настроена нестандартно.

Дальше идёт длинный хвост уязвимостей низкой степени опасности. Переполнение кучи в mod_charset_lite возникает при неполном преобразовании символа. Обращение к освобождённой памяти в mod_rewrite срабатывает при опережающем просмотре заголовков. Запись за границами буфера в mod_proxy_html ломается на специально составленном теле ответа, а mod_xml2enc падает, когда преобразование кодировки сначала идёт успешно, а затем обрывается. Модуль mod_heartmonitor разыменовывает нулевой указатель, получая данные через одноадресное оповещение. Модуль mod_session при внутреннем перенаправлении не удаляет сессионную cookie, и она уходит на внутренний сервер, хотя не должна. Модуль mod_proxy_ftp в режиме прямого прокси открывает соединение с произвольным узлом, если внешний FTP-сервер подставит чужой адрес в ответ на команду PASV. Модуль mod_userdir при абсолютном пути к домашним каталогам отдаёт содержимое через обход вида "/./". Модуль mod_ssl позволяет читать файлы через выражения в файлах .htaccess, а mod_proxy_uwsgi допускает контрабанду ответов. Наконец, mod_dav_fs разрешает прочитать свойства ресурсов, которые клиент не создавал, обратившись напрямую к служебному каталогу.

Почти каждая из этих уязвимостей требует нетипичной настройки: включённого модуля, изменённого параметра или специфической конфигурации прокси. Именно поэтому разработчики выставили низкие и средние оценки. С другой стороны, Apache HTTP Server остаётся одним из самых распространённых веб-серверов в мире, а в ветке 2.4 годами накапливаются конфигурации, которые никто не пересматривал. Модули вроде mod_dav, mod_proxy_ftp или mod_userdir часто включены "на всякий случай" и годами не используются по назначению. Чем больше таких модулей активно, тем шире поверхность атаки.

Данных о применении этих уязвимостей в реальных атаках в бюллетене нет. Исправления вышли 1 октября 2026 года вместе с версией 2.4.69, где закрыты все перечисленные ошибки. Обновляться имеет смысл независимо от того, какие модули включены: проверять каждую настройку вручную дольше и надёжнее не выйдет. Тем, кто пока не может поставить свежую версию, стоит отключить неиспользуемые модули, вернуть размер поля заголовка к стандартному значению и проверить, не открыт ли доступ к служебным каталогам WebDAV.

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

Ссылки

Комментарии: 0