Релиз http-сервера Apache 2.4.33. Фонду Apache исполнилось 19 лет

Состоялся релиз HTTP-сервера Apache 2.4.33, в котором представлено 55 изменений, в том числе устранено 7 неопасных уязвимостей, большинство из которых может привести к краху рабочего процесса при обработке определённых запросов. Выпуски 2.4.30, 2.4.31 и 2.4.32 были отменены, следом за 2.4.29 сразу опубликован релиз 2.4.33.

Исправленные уязвимости:

  • CVE-2018–1283 — возможность переопределения содержимого передавамой CGI-скрипту переменной окружения «HTTP_SESSION» через отправку HTTP-заголовка «Session» (в скрипт поступают контролируемые пользователем данные из заголовка «Session» вместо данных от mod_session). Проблема проявляется только в конфигурациях с включенной опцией «SessionEnv on», которая не активна по умолчанию;
  • CVE-2017–15710 — запись за пределы буфера при обработке в mod_authnz_ldap специально оформленных данных, переданных через заголовок Accept-Language. Уязвимость проявляется при активности настройки AuthLDAPCharsetConfig и позволяет инициировать крах рабочего процесса;
  • CVE-2018–1303 — ошибка в коде разбора HTTP-заголовков в mod_cache_socache может привести к краху рабочего процесса из-за попытки чтения из области за пределами буфера;
  • CVE-2018–1301 — крах при обработке очень больших HTTP-заголовков. Практическая возможность эксплуатации уязвимости отмечается только в системах с включенным при сборке режимом отладки и активированным отладочным LogLevel;
  • CVE-2017–15715 — по умолчанию движок регулярных выражений в блоках FilesMatch трактовал '$' как завершения строки, завершающейся символом перевода строки, а не как конец полной строки с именем файла (символ перевода строки мог использоваться для вывода хвоста имени файла из области проверки регулярным выражением). В новом выпуске '$' в FilesMatch всегда охватывает всё имя файла, но данной поведение можно изменить при помощи директивы 'RegexDefaultOptions';
  • CVE-2018–1312 — генерация ненадёжных векторов инициализации (nonce) в mod_auth_digest, которая могла привести к осуществлению атак, основанных на повторном использовании вектора инициализации (Replay attack), на серверах с типовым доменом Digest;
  • CVE-2018–1302 — крах рабочего процесса при обрыве потока HTTP/2 при определённом стечении обстоятельств. Проблема достаточно трудна в эксплуатации и воспроизводима только в отладочных сборках.

Из изменений можно отметить:

  • В состав добавлен новый экспериментальный модуль mod_md, разработанный проектом Let’s Encrypt для автоматизации получения и обслуживания сертификатов с использованием протокола ACME (Automatic Certificate Management Environment). При помощи mod_md можно упростить процесс сопровождения сертификатов на серверах с большим числом сайтов или в системах массового хостинга. При наличии mod_md пользователям не нужно заботиться об обновлении сертификатов, модуль сам получит необходимые сертификаты в сервисе Let«s Encrypt при первом запуске, организует их загрузку в mod_ssl (указание директив SSLCertificate* не требуется) и периодически будет обновлять сертификаты при приближении к истечению срока действия;
  • В mod_ssl добавлена возможность извлечения значений SSL DN в неизменном виде, без конвертации в UTF-8. Подобные значения сохраняются в переменные, заканчивающиеся на »_RAW»;
  • В mod_proxy_fcgi добавлена поддержка параметров flushwait и flushpackets, управляющих сбросом выходного буфера;
  • В mod_proxy обеспечена возможность передачи настроек через блок ProxyPass в секции VirtualHost для глобально определённого балансировщика нагрузки;
  • В mod_remoteip добавлена поддержка протокола PROXY;
  • В mod_proxy и mod_ssl реализована возможность определения своих конфигураций TLS для разных бэкендов через директивы SSLProxy* в секции Proxy;
  • В mod_proxy_uwsgi представлен субмодуль с реализацией UWSGI-прокси;
  • В mod_proxy_balancer и mod_slotmem_shm переработан код для повторного использования и удаления данных в разделяемой памяти
  • В mod_rewrite обеспечено добавление заголовка Vary, если результат условной операции равен истине и соответствующий RewriteRule задействован в контексте Directory (приводит ко внутреннему редиректу);
  • В mod_proxy_html обеспечено игнорирование документов, размером меньше 4 байт, и представлен тип документа (doctype) для HTML 5.

Дополнительно можно отметить празднование 23 лет с момента первого выпуска http-сервера Apache и 19 лет с момента основания некоммерческая организация Apache Software Foundation, на которую были возложены вопросы юридической и финансовой поддержки разработчиков. Дополнительной целью организации было создание нейтральной и доверительной платформы для разработки развиваемого силами сообщества программного обеспечения. Сообщество Apache перестало быть ориентированным только на создание http-сервера и переросло в движение, объединяющее близкие по духу проекты (лицензия Apache, единые правила разработки, единая культура общения, общая инфраструктура).

За 19 лет с момента основания Apache Software Foundation число развиваемых в рамках Apache проектов увеличилось до 373 (319 первичных и 54 в инкубаторе), охватывающих такие области как машинное обучение, обработка больших объёмов данных, управление сборкой, облачные системы, управление контентом, DevOps, IoT, разработка мобильных приложений серверные системы и web-фреймворки. Разработку курируют 6618 коммитеров, из которых 504 подключились за последний год. Кодовая база всех проектов Apache насчитывает более 190 миллионов строк кода. 9M+ source code downloads from Apache mirrors (excl. convenience binaries); 3,255 Committers changed 71,186,324 lines of code over 225,500 commits; 194 Top-Level Project committees managing 319 projects; 20 new Top-Level Projects graduated from the Apache Incubator; 54 podlings currently undergoing development in the Apache Incubator;

© OpenNet