Релиз http-сервера Apache 2.4.39 с устранением опасных уязвимостей

Опубликован релиз HTTP-сервера Apache 2.4.39, в котором представлено 18 изменений и устранено 7 уязвимостей.

Наиболее опасная уязвимость (CVE-2019–0211) позволяет локальному злоумышленнику (например, пользователю хостинга), имеющему возможность выполнить свой скрипт под управлением web-сервера (в том числе через mod_php, mod_lua, mod_perl и т.п.), добиться выполнения кода с правами управляющего процесса, обычно запускаемого с привилегиями root. Проблема проявляется при применении MPM-модулей event, worker или prefork и может быть эксплуатирована через через манипуляции с областью scoreboard, применяемой для организации взаимодействия между дочерним и родительским процессом Уязвимость проявляется начиная с выпуска 2.4.17.

Другие уязвимости:

  • CVE-2019–0217 — возможность обхода средств разграничения доступа в mod_auth_digest. Злоумышленник, обладающий корректными параметрами входа, может получить доступ под другим именем пользователя. Проблема вызвана состояния гонки (race condition) при запуске mod_auth_digest на сервере, работающем в многопоточном режиме. Проблема проявляется во всех выпусках ветки 2.4;
  • CVE-2019–0215 — обход ограничений доступа в mod_ssl. При использовании привязки клиентского сертификата к пути или каталогу (настройки Location и Directory) в случае применения TLSv1.3 пользователь с поддержкой аутентификации после завершения согласования соединения (Post-Handshake Authentication) может обойти установленные ограничения доступа. Проблема затрагивает только выпуски 2.4.37 и 2.4.38;
  • CVE-2019–0197 — отказ в обслуживании (крах процесса) через манипуляцию с запросами HTTP/2 (попытка обновить соединение http/1.1 до http/2, в случае если это не первый запрос в цепочке). Проблема проявляется в 2.4.34 и более новых выпусках на серверах с включенным модулем mod_http2;
  • CVE-2019–0196 — чтение из уже освобождённой области памяти в mod_http2. Проблема проявляется начиная с выпуска 2.4.18 и может привести к краху при обработке определённым образом оформленных запросов;
  • CVE-2019–0220 — различное поведение при нормализация запросов с повторяющимися слешами ('//'). Директивы LocationMatch и RewriteRule требуют явной обработки дубликатов в регулярных выражениях, в то время как в остальных директивах дубликаты автоматически объединяются. Проблема проявляется во всех выпусках ветки 2.4. Начиная с текущего выпуска слеши в URL всегда объединяются, но отключить это поведение можно при помощи настройки «MergeSlashes OFF».

Обновления пакетов с устранением уязвимостей уже доступны во FreeBSD. Проблемы пока остаются неисправленными в SUSE/openSUSE, RHEL, Fedora, Ubuntu и Debian.

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

  • В mod_log_config добавлена поддержка подстановок »%{c}h» для хоста принявшего соединение (conn-hostname) и »%h» для хоста подключившегося пользователя (useragent_host);
  • Добавлен модуль mod_socache_redis для хранения совместного кэша объектов (socache, Shared Object Cache, например используется для SSLSessionCache и SSLStaplingCache) в СУБД Redis;
  • Добавлена новая настройка 'MergeSlashes on|off' для управления объединением дублирующихся символов '/' в URL поступившего запроса;
  • В mod_http2 реализована новая настройка «H2Padding numbits», где numbits значение от 0 до 8, для управления добавочным заполнением блоков HTTP/2;
  • Из mod_http2 удалён внутренний API h2_req_engine, который больше не требуется для работы mod_proxy_http2. Полностью переработана реализация модуля mod_proxy_http2;
  • В mod_http2 реализована возможность указания настроек H2Push и H2Upgrade в контексте блоков Location и Directory, что позволяет отключить метод PUSH для определённого набора ресурсов;
  • В mod_reqtimeout добавлена возможность задания таймаутов для этапа согласования TLS-соединений;
  • В mod_proxy_wstunnel налажена работа прокси для проброса websocket поверх UDS.

© OpenNet