Доступен релиз HTTP-сервера Apache 2.4.26, в котором представлено 63 изменения, 22 из которых связаны с исправлениями в модуле mod_http2.

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

  • C модуля mod_http2 снята метка экспериментальной разработки, реализация протокола HTTP/2 отныне признана готовой для повсеместного применения;
  • Добавлен новый модуль mod_brotli для сжатия с использованием алгоритма Brotli (RFC 7932);
  • В файле конфигурации обеспечено выполнение вложенных блоков If/ElseIf/Else;
  • В mod_lua добавлена поддержка Lua 5.3;
  • Изменено поведение mod_rewrite: если подстановка является полным URL, а схема/хост/порт совпадают с текущим виртуальным хостом, то компонент пути в URL больше не интерпретируется как локальный путь, если он присутствует в файловой системе. Для возвращения старого поведения добавлена опция "RewriteOption LegacyPrefixDocRoot";
  • В mod_rewrite добавлен флаг 'BNP' (backreferences-no-plus), включающий замену пробелов в обратных ссылках RewriteRule на "%20" вместо "+";
  • В mod_rewrite добавлена возможность ограничения экранирования определённых символов через указание их в флаге "B";
  • В mod_env добавлен вывод предупреждения для директивы 'SetEnv', если в имени переменной окружения указан символ '=';
  • В mod_proxy_http2 добавлена поддержка заголовков Reverse Proxy Request;
  • В mod_proxy_fcgi добавлена директива ProxyFCGISetEnvIf для изменения переменных окружения CGI на стадии до вызова FastCGI;
  • В mod_proxy разрешено применение переменной окружения "no-proxy" в качестве альтернативы выражению "ProxyPass /path !";
  • В mod_proxy_fcgi возвращено старое поведение (2.4.20), оставляющее префикс "proxy:fcgi://" в переменной окружения SCRIPT_FILENAME;
  • В mod_proxy_http2 добавлена директива ProxyPreserverHost;
  • В mod_proxy_wstunnel добавлен параметр "upgrade", разрешающий обновление до другого протокола;
  • Проведена работа по увеличению производительности, качества буферизации и динамического регулирования потоком в mod_http2;
  • В mod_http2 директива MaxKeepAliveRequests теперь ограничивает число повторных использований slave-соединений;
  • В mod_http2 добавлена поддержка директивы MergeTrailers;
  • В mod_autoindex добавлена опция "IndexOptions UseOldDateFormat", позволяющая использовать формат Last Modified как в Apache 2.2;
  • В парсер выражений добавлена подстановка %{REMOTE_PORT};
  • Во вложенных SSI-выражениях подстановка %{DOCUMENT_URI} теперь всегда указывает на URI оригинального запроса, а не на URI вложенного документа;
  • В mod_ssl добавлена поддержка OpenSSL 1.1.0;
  • Устранено 5 уязвимостей:
    • CVE-2017-3167 - обход аутентификации при использовании ap_get_basic_auth_pw() в сторонних модулях;
    • CVE-2017-3169 - инициирование краха через отправку запроса HTTPS из-за разыменования нулевого указателя в mod_ssl;
    • CVE-2017-7659 - инициирование краха через отправку запроса HTTP/2 из-за разыменования нулевого указателя в mod_http2;
    • CVE-2017-7668 - чтение вне границ буфера в функции ap_find_token() может привести к краху при обработке специально оформленных заголовков запроса;
    • CVE-2017-7679 - чтение вне границ буфера в mod_mime может привести к чтению байта из области за пределами выделенного буфера при обработке специально оформленного заголовка Content-Type. Интересно, что о проблеме было сообщено ещё в ноябре 2015 года, а исправление внесено только сейчас.


    Источник: http://www.opennet.ru/opennews/art.shtml?num=46741