Обновление безопасности: Выпущены RPM- и DEB-пакеты mod_http3 v0.0.70

mod_http3 v0.0.70 добавлен в репозиторий CodeIT. Пакеты собраны для RHEL, CentOS, AlmaLinux, Rocky Linux и Oracle Linux 7, 8, 9 и 10, а также для Ubuntu 22.04 и 24.04.

Это обновление устраняет уязвимости. Рекомендуется обновиться.

Основные изменения:

  • Объявлена динамическая QPACK-таблица, размер которой задаётся H3QpackTableCapacity и H3QpackBlockedStreams, чтобы заголовки запросов сжимались так же, как и по HTTP/2.
  • Пул рабочих для обработки запросов стал настраиваемым с H3MinWorkers, H3MaxWorkers и H3MaxWorkerIdleSeconds вместо фиксированных 16–64 потоков.
  • Добавлен H3StreamTimeout: клиент, который перестаёт читать, больше не может удерживать рабочий поток запроса, пока запрос не будет завершён.
  • Добавлен H3MaxStreamErrors: соединение закрывается, если клиент продолжает отправлять некорректные запросы, вместо того чтобы обслуживать их бесконечно.
  • Опубликована среда TLS для mod_ssl (SSL_PROTOCOL, SSL_CIPHER и другие) для запросов HTTP/3, которую mod_ssl не контролирует.
  • Добавлены H3SessionTickets, чтобы администратор мог управлять возобновлением сеансов для возвращающихся клиентов вместо выполнения полного рукопожатия.
  • Добавлен H3SocketBufferSize, поэтому QUIC-сокет больше не отбрасывает дейтаграммы из-за слишком малого буфера приёма в ОС, когда соединение начинает работать на полной скорости.
  • В модульном event loop принудительно используется H3IdleTimeout: соединение без запросов закрывается вместо того, чтобы удерживаться открытым пингами keepalive от QUIC.
  • Некорректный запрос HTTP/3 отклоняется с ошибкой уровня потока вместо закрытия соединения, поэтому запросы, выполняющиеся параллельно, продолжают обрабатываться.
  • Сборка выполняется с httpd 2.4.x, а также из trunk; теперь сегменты ответа и хук child_stopped выбираются на этапе компиляции.
  • Определяется стабильная или devel версия httpd во время configure, и функция graceful drain возвращается в ветку 2.4.x.

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

  • SECURITY: Обновлён submodule httpd, чтобы mpm_event допускал соединение, которое никогда не принимал, устраняя падение дочернего процесса при ErrorDocument по HTTP/3.
  • SECURITY: Применены LimitRequestFields и LimitRequestFieldSize для HTTP/3, так что клиент больше не может раздувать память потока неограниченными заголовками.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *