Релиз http-сервера Apache 2.4.41 с устранением уязвимостей

Опубликован релиз HTTP-сервера Apache 2.4.41 (выпуск 2.4.40 был пропущен), в котором представлено 23 изменения и устранено 6 уязвимостей:

  • CVE-2019–10081 — проблема в mod_http2, которая может привести к повреждению памяти при отправке push-запросов на очень ранней стадии. При использовании настройки «H2PushResource» возможна перезапись области памяти в пуле обработки запросов, но проблема ограничена крахом, так как записываемые данные не основываются на информации, полученной от клиента;
  • CVE-2019–9517 — подверженность недавно анонсированной DoS-уязвимости в реализациях HTTP/2. Атакующий может исчерпать доступную процессу память и создать большую нагрузку на CPU, открывая скользящее окно HTTP/2 для отправки сервером данных без ограничений, но при этом держа окно TCP закрытым, что не позволяет фактически записать данные в сокет;
  • CVE-2019–10098 — проблема в mod_rewrite, позволяющая использовать сервер для проброса обращений на другие ресурсы (open redirect). Некоторые настройки mod_rewrite могут привести к пробросу пользвателя на другую ссылку, закодированную с использованием символа перевода строки внутри параметра, используемого в существующим редиректе. Для блокирования проблемы в RegexDefaultOptions можно использовать флаг PCRE_DOTALL, который теперь выставлен по умолчанию;
  • CVE-2019–10092 — возможность совершения межсайтового скриптинга на страницах ошибок, выводимых mod_proxy. На данных страницах в ссылке подставляется полученный из запроса URL, в котором атакующий через экранирование символов может подставить произвольный HTML-код;
  • CVE-2019–10097 — переполнение стека и разыменование указателя NULL в mod_remoteip, эксплуатируемое через манипуляции с заголовком протокола PROXY. Атака может быть совершена только со стороны используемого в настройках прокси-сервера, а не через запрос клиента;
  • CVE-2019–10082 — уязвимость в mod_http2, позволяющая в момент завершения соединения инициировать чтение содержимого из уже освобождённой области памяти (read-after-free).

Наиболее заметные изменения, не связанные с безопасностью:

  • В mod_proxy_balancer усилена защита от атак XSS/XSRF со стороны узлов, заслуживающих доверия;
  • В mod_session добавлена настройка SessionExpiryUpdateInterval для определения интервала обновления времени истечения жизни сеанса/cookie;
  • Проведена чистка страниц с ошибками, направленная на исключения вывода на данных страницах информации из запросов;
  • В mod_http2 обеспечен учёт значения параметра «LimitRequestFieldSize», который раньше действовал только для проверки полей заголовков HTTP/1.1;
  • Обеспечено создание конфигурации mod_proxy_hcheck при его использовании в BalancerMember;
  • Сокращено потребление памяти в mod_dav при использовании команды PROPFIND над большой коллекцией;
  • В mod_proxy и mod_ssl решены проблемы с указанием настроек сертификатов и SSL в внутри блока Proxy;
  • В mod_proxy разрешено применение настроек SSLProxyCheckPeer* для всех модулей прокси;
  • Расширены возможности модуля mod_md, разработанного проектом Let’s Encrypt для автоматизации получения и обслуживания сертификатов с использованием протокола ACME (Automatic Certificate Management Environment):
    • Добавлена вторая версия протокола ACMEv2, которая теперь применяется по умолчанию и использует пустые запросы POST вместо GET.
    • Добавлена поддержка проверки на базе расширения TLS-ALPN-01 (RFC 7301, Application-Layer Protocol Negotiation), которое используется в HTTP/2.
    • Прекращена поддержка метода проверки 'tls-sni-01' (из-за уязвимости).
    • Добавлены команды для настройки и разрыва проверки методом 'dns-01'.
    • Добавлена поддержка масок в сертификатах при включении проверки на основе DNS ('dns-01').
    • Реализован обработчик 'md-status' и страница с состоянием сертификата «https://domain/.httpd/certificate-status».
    • Добавлены директивы «MDCertificateFile» и «MDCertificateKeyFile» для настройки параметров доменов через статические файлы (без поддержки автообновления).
    • Добавлена директива «MDMessageCmd» для вызова внешних команд при наступлении событий 'renewed', 'expiring' или 'errored'.
    • Добавлена директива «MDWarnWindow» для настройки сообщения с предупреждением об истечении времени действия сертификата;

© OpenNet