Обновление безопасности: Выпущены RPM- и DEB-пакеты NGINX 1.31.7 Mainline с поддержкой HTTP/3, Brotli, TLS 1.3 и OpenSSL 4.0.3 для EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.31.7 Mainline с поддержкой HTTP/3 добавлен в репозиторий CodeIT. http2 и ngx_cache_purge встроены, а OpenSSL динамически линкуется с официальным OpenSSL 4.0.3 с поддержкой QUIC. Модуль сжатия Brotli от Google и ngx_http_geoip2 поставляются как динамические модули — в пакетах nginx-module-brotli и nginx-module-geoip2, оба необязательны, как и остальные модули nginx-module-*. Пакеты собраны для RHEL, CentOS, AlmaLinux, Rocky Linux и Oracle Linux 7, 8, 9 и 10, а также для Ubuntu 22.04 и 24.04.

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

Остальные динамические модули собраны отдельно и устанавливаются по желанию: nginx-module-lua вместе с lua-resty-core и lua-resty-lrucache, nginx-module-acme для автоматических сертификатов ACMEv2, nginx-module-njs, nginx-module-perl, nginx-module-xslt и nginx-module-image-filter. Каждый пакет сам добавляет строку load_module в /etc/nginx/modules-enabled, поэтому модуль работает сразу после установки и править nginx.conf вручную не нужно. Lua и ACME собираются для EL9, EL10 и Ubuntu; для EL7 вместо них есть nginx-module-geoip, а njs, Perl, XSLT и image-filter доступны только в rpm.

Тот же выпуск есть на Docker Hub как codeitus/nginx: образ собран на AlmaLinux 9 из этих же пакетов и опубликован для amd64 и arm64:

  • самый свежий образ, из того пула, который вышел последним: docker pull codeitus/nginx
  • самый свежий образ Mainline: docker pull codeitus/nginx:mainline
  • именно этот выпуск: docker pull codeitus/nginx:1.31.7

Для HTTP/3 нужно опубликовать и UDP-порт, а не только TCP: docker run -d -p 80:80 -p 443:443 -p 443:443/udp codeitus/nginx

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

  • Feature: модуль ngx_http_geoip_module и модуль ngx_stream_geoip_module теперь поддерживают базы данных в формате MaxMind DB (MMDB).
  • Feature: теперь сертификаты SSL для back end можно проверять по IP-адресу.
  • Feature: теперь QUIC поддерживает перенастройку и двоичное обновление при использовании директивы «quic_bpf».
  • Change: модуль ngx_http_v2_module теперь использует схему приоритизации из RFC 9218, а сигналы приоритета из RFC 7540 игнорируются.
  • Bugfix: в рабочем процессе мог возникать сегментационный отказ, либо в журналах могли появляться предупреждения «request count is zero», если строка заголовка «X-Accel-Redirect» была закэширована, а затем закэшированный ответ был отправлен клиенту.
  • Bugfix: сегментационный отказ мог возникать в рабочем процессе, если для модуля ngx_http_dav_module использовали обработку методов COPY и MOVE в location с директивой «alias».
  • Bugfix: соединения QUIC могли закрываться с сообщением «quic flood detected» в журналах, если директиве «http3_stream_buffer_size» задавалось небольшое значение; ошибка появлялась в 1.27.5.
  • Bugfix: закрытие SSL-соединения без close_notify считалось корректным завершением, включая случай, когда соединение было сброшено; теперь в этом случае в журналах появляются ошибки «SSL_read() failed».
  • Bugfix: сообщения «[crit] SSL_write() failed» могли появляться в журналах, когда возникала ошибка при чтении из SSL-соединения.

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

  • Security: переполнение буфера могло возникать в рабочем процессе при использовании директивы «alias», если URI запроса изменялся директивой «rewrite» и затем сопоставлялся с путем к файлу (CVE-2026-15176).
  • Security: переполнение буфера могло возникать в рабочем процессе при вычислении строковых выражений с переменными, что затрагивало вычисление корня документа и ведение журнала запросов в модулях http и stream (CVE-2026-93479).
  • Security: при использовании HTTP/3 часть неизвестного кадра могла обрабатываться как тело запроса, что могло приводить к обходу лимита «client_max_body_size» или к внедрению данных в проксируемый запрос (CVE-2026-95101).
  • Security: при использовании ротации ключей сеансовых билетов TLS один из ключей оставался неинициализированным, что могло позволять подделывать сеанс (CVE-2026-97629).
  • Security: при использовании асинхронного ввода-вывода файлов (AIO) в некоторых конфигурациях мог возникать use-after-free, если на странице SSI используются команды «include virtual» (CVE-2026-97205).

Обновление безопасности: Выпущены RPM- и DEB-пакеты NGINX 1.30.6 Stable с поддержкой HTTP/3, Brotli, TLS 1.3 и OpenSSL 4.0.3 для EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.30.6 Stable с поддержкой HTTP/3 добавлен в репозиторий CodeIT. http2 и ngx_cache_purge встроены, а OpenSSL динамически линкуется с официальным OpenSSL 4.0.3 с поддержкой QUIC. Модуль сжатия Brotli от Google и ngx_http_geoip2 поставляются как динамические модули — в пакетах nginx-module-brotli и nginx-module-geoip2, оба необязательны, как и остальные модули nginx-module-*. Пакеты собраны для RHEL, CentOS, AlmaLinux, Rocky Linux и Oracle Linux 7, 8, 9 и 10, а также для Ubuntu 22.04 и 24.04.

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

Остальные динамические модули собраны отдельно и устанавливаются по желанию: nginx-module-lua вместе с lua-resty-core и lua-resty-lrucache, nginx-module-acme для автоматических сертификатов ACMEv2, nginx-module-njs, nginx-module-perl, nginx-module-xslt и nginx-module-image-filter. Каждый пакет сам добавляет строку load_module в /etc/nginx/modules-enabled, поэтому модуль работает сразу после установки и править nginx.conf вручную не нужно. Lua и ACME собираются для EL9, EL10 и Ubuntu; для EL7 вместо них есть nginx-module-geoip, а njs, Perl, XSLT и image-filter доступны только в rpm.

Тот же выпуск есть на Docker Hub как codeitus/nginx: образ собран на AlmaLinux 9 из этих же пакетов и опубликован для amd64 и arm64:

  • самый свежий образ, из того пула, который вышел последним: docker pull codeitus/nginx
  • самый свежий образ Stable: docker pull codeitus/nginx:stable
  • именно этот выпуск: docker pull codeitus/nginx:1.30.6

Для HTTP/3 нужно опубликовать и UDP-порт, а не только TCP: docker run -d -p 80:80 -p 443:443 -p 443:443/udp codeitus/nginx

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

  • Change: уровень логирования ошибок SSL с текстом «invalid alert» и «record layer failure», а также «SSL alert number N» для любых номеров оповещений был понижен с «crit» до «info».
  • Bugfix: в рабочем процессе может возникать ошибка сегментации, а в логах могут появляться оповещения «request count is zero», если строка заголовка «X-Accel-Redirect» была закеширована, а затем закешированный ответ был выдан клиенту.
  • Bugfix: в рабочем процессе может возникать ошибка сегментации, если для обработки методов COPY и MOVE в локации с директивой «alias» использовался модуль ngx_http_dav_module.
  • Bugfix: при чтении конфигурации может возникать ошибка сегментации, если использовалась директива «geo» с параметром «ranges», а соответствующий двоичный файл базовых данных был повреждён.
  • Bugfix: ошибка use-after-free может возникать в рабочем процессе, если использовалось проксирование с буферизацией и произошла ошибка при отправке ответа HTTP/2 клиенту.
  • Bugfix: рабочий процесс может не завершаться, и в логах могут появляться оповещения «accept4() failed (9: Bad file descriptor)», если рабочий процесс исчерпал количество файловых дескрипторов до завершения по graceful shutdown.
  • Bugfix: в рабочем процессе может возникать ошибка сегментации, если использовался метод «select».
  • Bugfix: внесены изменения в бинарную совместимость с сторонними модулями, использующими коды сценариев; баг проявлялся в версии 1.30.4.
  • Bugfix: в модуле ngx_http_perl_module.
  • Bugfix: в механизме управления потоком в модуле ngx_http_v2_module.
  • Bugfix: сообщения «[error] upstream sent frame for unknown stream» и «[crit] cache file … contains invalid header» могут появляться в логах при отправке кешированного HTTP/2-ответа в модуле ngx_http_proxy_v2_module, если использовалась директива «proxy_cache_revalidate».
  • Bugfix: фрагментация IPv6 может быть не отключена при использовании QUIC в некоторых операционных системах.
  • Bugfix: в модуле ngx_http_auth_basic_module на Solaris.
  • Bugfixes в HTTP/3, ngx_http_image_filter_module, ngx_http_slice_module и ngx_http_memcached_module.

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

  • Security: переполнение буфера может происходить в рабочем процессе при использовании директивы «alias», если URI запроса был изменён директивой «rewrite», а затем сопоставлен пути к файлу (CVE-2026-15176).
  • Security: переполнение буфера может происходить в рабочем процессе при вычислении строковых выражений с переменными, что затрагивало вычисление document root и ведение журнала запросов в модулях http и stream (CVE-2026-93479).
  • Security: при использовании HTTP/3 часть неизвестного фрейма может обрабатываться как тело запроса, что может привести к обходу ограничения «client_max_body_size» или внедрению данных в проксируемый запрос (CVE-2026-95101).
  • Security: при использовании ротации ключей сеансовых билетов TLS один из ключей оставался неинициализированным, что может позволить подделать сеанс (CVE-2026-97629).
  • Security: при использовании асинхронного ввода-вывода файлов (AIO) ошибка use-after-free может возникать в некоторых конфигурациях, если на странице SSI есть команды «include virtual» (CVE-2026-97205).

Обновление безопасности: Выпущены RPM- и DEB-пакеты Apache httpd 2.4.69 с поддержкой HTTP/2, HTTP/3, Brotli, TLS 1.3, OpenSSL 4.0.3 и ALPN для EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

Apache httpd 2.4.69 добавлен в репозиторий CodeIT, собран с поддержкой HTTP/2 (mod_http2), Brotli, TLS 1.3 и ALPN, с использованием OpenSSL 4.0.3. Пакеты собраны для RHEL, CentOS, AlmaLinux, Rocky Linux и Oracle Linux 7, 8, 9 и 10, а также для Ubuntu 22.04 и 24.04.

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

Начиная с 2.4.69 mod_ssl собирается с API OpenSSL 3.0 вместо 1.1.1 (OPENSSL_API_COMPAT повышен с 1.1.1 до 3.0.0), поскольку в OpenSSL 4.0 удалены возможности, объявленные устаревшими до 3.0. Вместе с этим убрана поддержка SRP (TLS-SRP, RFC 5054): директив SSLSRPVerifierFile и SSLSRPUnknownUserSeed больше нет, поэтому удалите их из конфигурации до обновления, иначе httpd не запустится; переменные SSL_SRP_USER и SSL_SRP_USERINFO больше не устанавливаются. API ENGINE в этих пакетах был отключён и раньше.

mod_http2 в RPM-пакетах теперь собирается из исходников httpd, как это уже делается в DEB-пакетах и в apache2 самой Ubuntu, а не из отдельного проекта mod_h2. Пакет сохраняет имя mod_http2 и теперь имеет версию httpd, поэтому dnf или yum обновляют mod_http2 2.0.42 до него сами: ничего удалять заранее не нужно, а изменённый 10-h2.conf сохраняется.

Для этой версии httpd доступен HTTP/3 через mod_http3 — экспериментальный модуль в отдельном пакете:

  • RPM, EL8 и новее: dnf install mod_http3
  • RPM, EL7: yum install mod_http3
  • DEB: apt install libapache2-mod-http3

Модуль загружается сразу после установки, а сам HTTP/3 включается для каждого виртуального хоста. Отредактируйте пример vhost из пакета (ServerName и сертификат): на EL это /etc/httpd/vhosts.d/http3-vhost.conf, который httpd.conf по умолчанию не подключает, поэтому добавьте IncludeOptional vhosts.d/*.conf; в Ubuntu выполните a2ensite http3-vhost. Затем перезагрузите httpd и откройте 443/udp в межсетевом экране, так как QUIC работает поверх UDP.

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

  • Исправлена иконка tar в документации, чтобы фоновая заливка была прозрачной. PR 70238.
  • mod_ssl: Исправлены макросы совместимости OpenSSL для X509_get0_notBefore, X509_get0_notAfter и X509_get0_serialNumber с OpenSSL < 1.1. PR 70205.
  • mod_cgid, mod_ssl, mod_md: Выполнены различные исправления по усилению защиты.
  • mod_md: MDServerStatus теперь отключён по умолчанию.
  • mod_auth_digest: Исправлена совместимость с выражениями на основе AuthName. PR 59039.
  • mod_auth_digest.c: Убрана поддержка RFC 2069; переработано управление общей памятью и обработка клиентского nonce; mutex «authdigest-opaque» теперь больше не требуется.
  • mod_lbmethod_heartbeat: Используется безопасный разбор целых чисел с проверкой диапазона вместо atoi().
  • core: Отклоняются управляющие символы в фразе причины промежуточных ответов. Принимается только пробел как разделитель между кодом состояния.
  • mod_substitute: Исправлена директива SubstituteMaxLineLength, чтобы она отклоняла значения, слишком большие для суффикса K/M/G.
  • mod_substitute: Исправлен сбой или некорректное поведение при загрузке директивы Substitute с отсутствующим завершающим разделителем.
  • mod_dir: Исправлен сбой в fixup_dir для запроса, который не сопоставлен ни с одним типом. PR68527.
  • mod_http2: Не отбрасывается ответ в процессе выполнения, когда клиент отправляет корректный GOAWAY (error code 0) при том, что открытые им потоки всё ещё обрабатываются. Сеанс теперь «дожидает» открытые потоки вместо немедленного завершения, с чем async MPM сталкиваются гораздо чаще, чем event. Исправлено тихо отброшенное ответное сообщение; соответствует RFC 9113.
  • mod_md: Совместимость с OpenSSL 4.
  • pytest_suite: Портирование старого PERL-фреймворка тестирования на Python и pytest. Теперь он включён в исходное дерево в ./test.

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

  • SECURITY: CVE-2026-93546: mod_dav_fs переполнение пространства имён Integer overflow в mod_dav_fs в Apache HTTP Server через 2.4.68 позволяет аутентифицированному WebDAV-клиенту с правом записи вызывать аварийное завершение процессов worker и стойко повреждать базу свойств каталога через запросы PROPPATCH, объявляющие много XML namespace.
  • SECURITY: CVE-2026-79768: mod_userdir утечка информации Эквивалентность путей: уязвимость ‘/./’ (каталог с одной точкой) в модуле mod_userdir Apache HTTP Server при настройке с абсолютной директивой UserDir без подстановок (второй вариант в). Эта проблема затрагивает Apache HTTP Server: от 2.4.0 до 2.4.68.
  • SECURITY: CVE-2026-73637: mod_auth_digest атака DoS Использование после освобождения в mod_auth_digest в Apache HTTP Server от Apache Software Foundation до 2.4.69 на всех платформах позволяет неаутентифицированному удалённому клиенту вызывать повреждение состояния аутентификации через параллельные запросы Digest-аутентификации при включённом AuthDigestNcCheck или установленном значении AuthDigestNonceLifetime равном 0. Рекомендуется обновиться до версии 2.4.69, которая исправляет эту проблему.
  • SECURITY: CVE-2026-73636: mod_auth_digest атака повторного воспроизведения одноразового nonce обход аутентификации через capture-replay в mod_auth_digest в Apache Software Foundation Apache HTTP Server 2.4.x на всех платформах позволяет атакующему типа man-in-the-middle (MITM) повторять захваченные учётные данные Digest-аутентификации через специально сформированные запросы, которые вызывают garbage collection записи общей памяти клиента при установленном AuthDigestNonceLifetime равном 0. Рекомендуется обновиться до версии 2.4.69, которая исправляет эту проблему.
  • SECURITY: CVE-2026-63718: mod_proxy_uwsgi Перехват ответа Transfer-Encoding Несовместимая интерпретация HTTP-запросов (‘HTTP Request/Response Smuggling’) уязвимость перехвата ответов в Apache HTTP Server через mod_proxy_uwsgi и специально сформированный uwsgi-ответ с Transfer-Encoding. Эта проблема затрагивает Apache HTTP Server: от 2.4.30 до 2.4.68.
  • SECURITY: CVE-2026-63686: mod_xml2enc сбой при ошибке преобразования charset Отмена по NULL-указателю в mod_xml2enc в Apache Software Foundation Apache HTTP Server до 2.4.69 на всех платформах позволяет недоверенному серверу backend вызывать отказ в обслуживании через проксированный ответ с charset, преобразование которого частично выполняется, а затем завершается ошибкой. Рекомендуется обновиться до версии 2.4.69, которая исправляет эту проблему.
  • SECURITY: CVE-2026-63292: mod_vhost_alias переполнение стека Переполнение буфера на основе стека в mod_vhost_alias в Apache Software Foundation Apache HTTP Server до 2.4.68 на всех платформах позволяет удалённому клиенту вызвать отказ в обслуживании или, потенциально, выполнить произвольный код через HTTP-запрос с заголовком Host, превышающим 8192 байта, когда VirtualDocumentRoot использует спецификатор формата имени хоста, а LimitRequestFieldSize увеличен выше значения по умолчанию. Рекомендуется обновиться до версии 2.4.69, которая исправляет эту проблему.
  • SECURITY: CVE-2026-63045: mod_proxy_ftp обработка адресов PASV Ненадлежащая проверка адреса ответа FTP PASV в mod_proxy_ftp в Apache Software Foundation Apache HTTP Server до 2.4.68 на всех платформах позволяет, в конфигурациях forward proxy, недоверенному FTP-серверу заставить прокси открыть соединение для данных с произвольным сторонним хостом через специально сформированный ответ PASV. Рекомендуется обновиться до версии 2.4.69, которая исправляет эту проблему.
  • SECURITY: CVE-2026-59797: mod_ssl SSLRequire допускает .htaccess ap_expr файловую функцию Уязвимость неправильного управления привилегиями в mod_ssl Apache HTTP Server через SSLRequire и выражения, связанные с файлами. Эта проблема затрагивает Apache HTTP Server: от 2.4.0 до 2.4.68.
  • SECURITY: CVE-2026-59685: Запись за пределы в ap_directory_walk() Canonical-Name Rewrite в CASE_BLIND_FILESYSTEM Уязвимость записи за пределы в Apache HTTP Server в Windows при обработке путей с именами 8.3, которые могут увеличиваться при расширении. Эта проблема затрагивает Apache HTTP Server: от 2.4.0 до 2.4.68.
  • SECURITY: CVE-2026-58415: mod_dav_fs доступ к чтению базы данных свойств Внутренние файлы состояния доступны внешним сторонам в mod_dav_fs в Apache Software Foundation Apache HTTP Server до 2.4.69 на всех платформах позволяет удалённому клиенту читать dead properties WebDAV ресурсов, которым он не имеет права авторизовать, через GET-запрос к каталогу .DAV state directory. Эта проблема затрагивает Apache HTTP Server: от 2.4.0 до 2.4.68.
  • SECURITY: CVE-2026-57941: mod_http2 use-after-free / некорректная запись через повторный вход shared session->bbtmp Уязвимость use-after-free в mod_http2 Apache HTTP Server через повторный вход shared session->bbtmp. Эта проблема затрагивает Apache HTTP Server: от 2.4.0 до 2.4.68.
  • SECURITY: CVE-2026-56449: mod_proxy_html: сбой в dump_content Уязвимость записи за пределы в mod_proxy_html Apache HTTP Server при специально сформированных HTTP- телах ответа. Эта проблема затрагивает Apache HTTP Server: от 2.4.0 до 2.4.68.
  • SECURITY: CVE-2026-56154: mod_rewrite use-after-free через %{LA-U:HTTP…} Уязвимость use-after-free в Apache HTTP Server mod_rewrite при использовании lookahead (%{LA-U:HTTP…}) Эта проблема затрагивает Apache HTTP Server: от 2.4.0 до 2.4.68.
  • SECURITY: CVE-2026-56153: mod_charset_lite: переполнение кучи в finish_partial_char Уязвимость записи за пределы в mod_charset_lite Apache HTTP Server. Эта проблема затрагивает Apache HTTP Server: от 2.4.0 до 2.4.68.
  • SECURITY: CVE-2026-48005: mod_auth_digest атака повторной аутентификации Отсутствие проверок аутентификации в mod_auth_digest в Apache Software Foundation Apache HTTP Server до 2.4.69 на всех платформах позволяет неаутентифицированному удалённому клиенту вызвать отказ в обслуживании (вынужденная повторная аутентификация) через поддельные заголовки Authorization при включённой Digest-аутентификации с AuthDigestNcCheck. Рекомендуется обновиться до версии 2.4.69, которая исправляет эту проблему.
  • SECURITY: CVE-2026-47360: mod_session: cookie сессии не удаляется при внутреннем редиректе Раскрытие конфиденциальной информации неавторизованному субъекту уязвимость в модуле mod_session_cookie Apache HTTP Server.
  • SECURITY: CVE-2026-46729: mod_heartmonitor отказ в обслуживании Уязвимость отмены по NULL-указателю в Apache HTTP Servers mod_heartmonitor через unicast listener. Эта проблема затрагивает Apache HTTP Server: от 2.4.0 до 2.4.68.
  • SECURITY: CVE-2026-42528: переполнение shared lock в mod_dav Ошибка в вычислении памяти в mod_dav в Apache httpd 2.4.67 и более ранних версиях позволяет атакующему с правом создавать WebDAV locks вызывать сбой дочерних процессов сервера. Рекомендуется обновиться до версии 2.4.69, которая исправляет эту проблему
  • SECURITY: CVE-2026-42356: ограниченный RCE для некоторых внутренних редиректов на не-CGI-файлы в CGI-каталогах Уязвимость развёртывания неверного обработчика в Apache HTTP Server позволяет цели некоторых внутренних редиректов из CGI-программ также обрабатываться как CGI и выполняться. Цель должна уже находиться в каталоге, включённом для CGI, и не иметь другого расширения, распознаваемого mod_mime. Эта проблема затрагивает Apache HTTP Server: от 2.4.60 до 2.4.68.

Обновление безопасности: Выпущены RPM- и DEB-пакеты NGINX 1.31.6 Mainline с поддержкой HTTP/3, Brotli, TLS 1.3 и OpenSSL 4.0.2 для EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.31.6 Mainline с поддержкой HTTP/3 добавлен в репозиторий CodeIT. http2 и ngx_cache_purge встроены, а OpenSSL динамически линкуется с официальным OpenSSL 4.0.2 с поддержкой QUIC. Модуль сжатия Brotli от Google и ngx_http_geoip2 поставляются как динамические модули — в пакетах nginx-module-brotli и nginx-module-geoip2, которые rpm-пакет nginx устанавливает автоматически (зависимость оставлена, чтобы существующие установки обновлялись без потери этих директив; через несколько месяцев мы её уберём, и оба модуля станут полностью необязательными). Пакеты собраны для RHEL, CentOS, AlmaLinux, Rocky Linux и Oracle Linux 7, 8, 9 и 10, а также для Ubuntu 22.04 и 24.04.

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

Остальные динамические модули собраны отдельно и устанавливаются по желанию: nginx-module-lua вместе с lua-resty-core и lua-resty-lrucache, nginx-module-acme для автоматических сертификатов ACMEv2, nginx-module-njs, nginx-module-perl, nginx-module-xslt и nginx-module-image-filter. Каждый пакет сам добавляет строку load_module в /etc/nginx/modules-enabled, поэтому модуль работает сразу после установки и править nginx.conf вручную не нужно. Lua и ACME собираются для EL9, EL10 и Ubuntu; для EL7 вместо них есть nginx-module-geoip, а njs, Perl, XSLT и image-filter доступны только в rpm.

Тот же выпуск есть на Docker Hub как codeitus/nginx: образ собран на AlmaLinux 9 из этих же пакетов и опубликован для amd64 и arm64:

  • самый свежий образ, из того пула, который вышел последним: docker pull codeitus/nginx
  • самый свежий образ Mainline: docker pull codeitus/nginx:mainline
  • именно этот выпуск: docker pull codeitus/nginx:1.31.6

Для HTTP/3 нужно опубликовать и UDP-порт, а не только TCP: docker run -d -p 80:80 -p 443:443 -p 443:443/udp codeitus/nginx

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

  • Изменение: параметры расширения transport QUIC, полученные в SSL-соединении, теперь всегда игнорируются.
  • Исправление: двоичное обновление не выполнялось, если был задан сокет control API и новый исполняемый файл nginx был собран с модулем ngx_http_perl_module.
  • Исправление: ошибка при вычислении предиката в location предиката игнорировалась, и предикат трактовался как false.
  • Исправление: ошибка при поиске во вложенном location могла игнорироваться, если locations, заданные регулярными выражениями или предикатами, были настроены на текущем уровне.
  • Исправление: при чтении конфигурации мог возникать сбой сегментации, если использовалась директива «geo» с параметром «ranges», а соответствующий двоичный базовый файл был повреждён.

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

  • Безопасность: в рабочем процессе при некоторых конфигурациях могла возникать переполненная область памяти heap при использовании HTTP/3 с OpenSSL 3.5.0 и более ранними (CVE-2026-90439).

Обновление безопасности: Выпущены RPM- и DEB-пакеты NGINX 1.30.5 Stable с поддержкой HTTP/3, Brotli, TLS 1.3 и OpenSSL 4.0.2 для EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.30.5 Stable с поддержкой HTTP/3 добавлен в репозиторий CodeIT. http2 и ngx_cache_purge встроены, а OpenSSL динамически линкуется с официальным OpenSSL 4.0.2 с поддержкой QUIC. Модуль сжатия Brotli от Google и ngx_http_geoip2 поставляются как динамические модули — в пакетах nginx-module-brotli и nginx-module-geoip2, которые rpm-пакет nginx устанавливает автоматически (зависимость оставлена, чтобы существующие установки обновлялись без потери этих директив; через несколько месяцев мы её уберём, и оба модуля станут полностью необязательными). Пакеты собраны для RHEL, CentOS, AlmaLinux, Rocky Linux и Oracle Linux 7, 8, 9 и 10, а также для Ubuntu 22.04 и 24.04.

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

Остальные динамические модули собраны отдельно и устанавливаются по желанию: nginx-module-lua вместе с lua-resty-core и lua-resty-lrucache, nginx-module-acme для автоматических сертификатов ACMEv2, nginx-module-njs, nginx-module-perl, nginx-module-xslt и nginx-module-image-filter. Каждый пакет сам добавляет строку load_module в /etc/nginx/modules-enabled, поэтому модуль работает сразу после установки и править nginx.conf вручную не нужно. Lua и ACME собираются для EL9, EL10 и Ubuntu; для EL7 вместо них есть nginx-module-geoip, а njs, Perl, XSLT и image-filter доступны только в rpm.

Тот же выпуск есть на Docker Hub как codeitus/nginx: образ собран на AlmaLinux 9 из этих же пакетов и опубликован для amd64 и arm64:

  • самый свежий образ, из того пула, который вышел последним: docker pull codeitus/nginx
  • самый свежий образ Stable: docker pull codeitus/nginx:stable
  • именно этот выпуск: docker pull codeitus/nginx:1.30.5

Для HTTP/3 нужно опубликовать и UDP-порт, а не только TCP: docker run -d -p 80:80 -p 443:443 -p 443:443/udp codeitus/nginx

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

  • Change: теперь расширение с параметрами транспорта QUIC, полученное в SSL-соединении, всегда игнорируется.

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

  • Security: в буфере кучи рабочего процесса при некоторых конфигурациях может возникнуть переполнение памяти при использовании HTTP/3 с OpenSSL 3.5.0 и более ранними версиями (CVE-2026-90439).

Выпущены RPM- и DEB-пакеты NGINX 1.31.5 Mainline с поддержкой HTTP/3, Brotli, TLS 1.3 и OpenSSL 4.0.2 для EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.31.5 Mainline с поддержкой HTTP/3 добавлен в репозиторий CodeIT. http2 и ngx_cache_purge встроены, а OpenSSL динамически линкуется с официальным OpenSSL 4.0.2 с поддержкой QUIC. Модуль сжатия Brotli от Google и ngx_http_geoip2 поставляются как динамические модули — в пакетах nginx-module-brotli и nginx-module-geoip2, которые rpm-пакет nginx устанавливает автоматически (зависимость оставлена, чтобы существующие установки обновлялись без потери этих директив; через несколько месяцев мы её уберём, и оба модуля станут полностью необязательными). Пакеты собраны для RHEL, CentOS, AlmaLinux, Rocky Linux и Oracle Linux 7, 8, 9 и 10, а также для Ubuntu 22.04 и 24.04.

Остальные динамические модули собраны отдельно и устанавливаются по желанию: nginx-module-lua вместе с lua-resty-core и lua-resty-lrucache, nginx-module-acme для автоматических сертификатов ACMEv2, nginx-module-njs, nginx-module-perl, nginx-module-xslt и nginx-module-image-filter. Каждый пакет сам добавляет строку load_module в /etc/nginx/modules-enabled, поэтому модуль работает сразу после установки и править nginx.conf вручную не нужно. Lua и ACME собираются для EL9, EL10 и Ubuntu; для EL7 вместо них есть nginx-module-geoip, а njs, Perl, XSLT и image-filter доступны только в rpm.

Тот же выпуск есть на Docker Hub как codeitus/nginx: образ собран на AlmaLinux 9 из этих же пакетов и опубликован для amd64 и arm64:

  • самый свежий образ, из того пула, который вышел последним: docker pull codeitus/nginx
  • самый свежий образ Mainline: docker pull codeitus/nginx:mainline
  • именно этот выпуск: docker pull codeitus/nginx:1.31.5

Для HTTP/3 нужно опубликовать и UDP-порт, а не только TCP: docker run -d -p 80:80 -p 443:443 -p 443:443/udp codeitus/nginx

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

  • Функция: управление API.
  • Функция: условия по расположениям.
  • Функция: модуль ngx_http_json_module.
  • Функция: директива «client_body_early_read».
  • Исправлена ошибка: use-after-free мог возникать в рабочем процессе, если выполнялось проксирование с использованием буферизации и ошибка возникала при отправке ответа HTTP/2-клиенту.
  • Исправлена ошибка: рабочий процесс больше не мог не завершаться или в журналах больше не появлялись оповещения «accept4() failed (9: Bad file descriptor)» при исчерпании файловых дескрипторов до начала планового завершения.
  • Исправлена ошибка: запросы к бэкендам FastCGI и uwsgi формировались некорректно, если имя параметра было слишком длинным.
  • Исправлены ошибки в HTTP/3, ngx_http_slice_module и ngx_http_memcached_module.

Выпущены RPM- и DEB-пакеты NGINX 1.31.4 Mainline с поддержкой HTTP/3, Brotli, TLS 1.3 и OpenSSL 4.0.1 для EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.31.4 Mainline с поддержкой HTTP/3 добавлен в репозиторий CodeIT. http2 и ngx_cache_purge встроены, а OpenSSL динамически линкуется с официальным OpenSSL 4.0.1 с поддержкой QUIC. Модуль сжатия Brotli от Google и ngx_http_geoip2 поставляются как динамические модули — в пакетах nginx-module-brotli и nginx-module-geoip2, которые rpm-пакет nginx устанавливает автоматически (зависимость оставлена, чтобы существующие установки обновлялись без потери этих директив; через несколько месяцев мы её уберём, и оба модуля станут полностью необязательными). Пакеты собраны для RHEL, CentOS, AlmaLinux, Rocky Linux и Oracle Linux 7, 8, 9 и 10, а также для Ubuntu 22.04 и 24.04.

Остальные динамические модули собраны отдельно и устанавливаются по желанию: nginx-module-lua вместе с lua-resty-core и lua-resty-lrucache, nginx-module-acme для автоматических сертификатов ACMEv2, nginx-module-njs, nginx-module-perl, nginx-module-xslt и nginx-module-image-filter. Каждый пакет сам добавляет строку load_module в /etc/nginx/modules-enabled, поэтому модуль работает сразу после установки и править nginx.conf вручную не нужно. Lua и ACME собираются для EL9, EL10 и Ubuntu; для EL7 вместо них есть nginx-module-geoip, а njs, Perl, XSLT и image-filter доступны только в rpm.

Тот же выпуск есть на Docker Hub как codeitus/nginx: образ собран на AlmaLinux 9 из этих же пакетов и опубликован для amd64 и arm64:

  • самый свежий образ, из того пула, который вышел последним: docker pull codeitus/nginx
  • самый свежий образ Mainline: docker pull codeitus/nginx:mainline
  • именно этот выпуск: docker pull codeitus/nginx:1.31.4

Для HTTP/3 нужно опубликовать и UDP-порт, а не только TCP: docker run -d -p 80:80 -p 443:443 -p 443:443/udp codeitus/nginx

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

  • Feature: директива «proxy_protocol» в модулях stream и mail теперь поддерживает версию 2 протокола PROXY.
  • Change: запросы к бэкендам для HTTP/2 и gRPC теперь всегда отправляются с псевдозаголовком «:authority», а запросы HTTP/1.1 — с заголовком «Host».
  • Bugfix: в рабочем процессе может возникать аварийное завершение, если использовался метод «select».
  • Bugfix: неполные ответы gRPC с строкой заголовка «Content-Length» со значением не нулевым теперь считаются некорректными.
  • Bugfix: устранена проблема двоичной совместимости с сторонними модулями, использующими коды сценариев; ошибка возникала в 1.31.3.
  • Bugfix: устранена ошибка в модуле ngx_http_perl_module.
  • Bugfixes в HTTP/2, HTTP/3, ngx_http_image_filter_module и ngx_http_grpc_module.

NGINX 1.25.0 Mainline, собранный с Brotli, TLS 1.3, OpenSSL 3.0.8, поддержкой http2, http3 (QUIC) для Red Hat Enterprise Linux, CentOS, Rocky, Oracle, Alma Linux EL7/EL8/EL9

В репозиторий добавлен NGINX 1.25.0 mainline с поддержкой HTTP/3, сжатия brotli от Google, http2, ngx cache purge и ngx http geoip2 module. OpenSSL собран динамически с OpenSSL+QUIC (QuicTLS) 3.0.8.

TLS 1.3 final на сегодня работает в Google Chrome 70+ и Mozilla Firefox 63+.

RHEL 7 / CentOS 7:

yum upgrade -y codeit-repo-release
yum-config-manager --disable CodeIT-quic --save
yum-config-manager --enable CodeIT-mainline --save

RHEL 8 / Alma Linux 8 / Rocky Linux 8 / CentOS 8 / Other EL8 репозиторий стал модульным. Для установки надо включить соответствующий стрим:

dnf module reset -y nginx
dnf module enable -y nginx:codeit-mainline

Для включения TLS 1.3 надо указать:

ssl_protocols TLSv1.2 TLSv1.3;

C версии 1.21.6 мы собираем OpenSSL+QUIC 3.0 отдельно, он устанавливается в /lib64 отдельно с суффиксом .so.81.3 и никак не затрагивает системные библиотеки.

С версии 1.25.0 в NGINX появилась экспериментальная поддержка HTTP/3, наши сборки выполняются с поддержкой этого экспериментального модуля (—with-http_v3_module).

Apache httpd 2.4.56, собранный с Brotli, TLS 1.3 final (RFC 8446), OpenSSL 1.1.1t, ALPN и поддержкой http2 для Rocky Linux, Red Hat Enterprise Linux, Alma Linux и CentOS

В репозиторий добавлен Apache httpd 2.4.56-1 с поддержкой сжатия brotli от Google, mod_http2 2.0.13 для Red Hat Enterprise Linux, Rocky Linux, Alma Linux и CentOS. Mod_ssl собран динамически с OpenSSL 1.1.1t.

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

  • CVE-2023-27522: HTTP response smuggling bug
  • CVE-2023-25690: HTTP request smuggling vulnerability

Заметим, что httpd 2.4.54 поддерживает TLS 1.3 при сборке с OpenSSL 1.1.1. Все новые шифры включены и работают.
C версии 2.4.54-2 мы собираем OpenSSL+QUIC 1.1.1 отдельно, он устанавливается в /lib64 отдельно с суффиксом .so.81.1.1 и никак не затрагивает системные библиотеки.

Для установки в EL8 нужно включить соответствующий Module stream:

dnf module enable -y httpd:codeit

TLS 1.3 final на сегодня работает в Google Chrome 70+ и Mozilla Firefox 63+.

Для работы с SELinux в rpm включена соответствующая минимальная политика.

Модуль brotli уже включён в базовый RPM. Всё, что нужно — настроить фильтр

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript

Apache httpd 2.4.55, собранный с Brotli, TLS 1.3 final (RFC 8446), OpenSSL 1.1.1s, ALPN и поддержкой http2 для Rocky Linux, Red Hat Enterprise Linux, Alma Linux и CentOS

В репозиторий добавлен Apache httpd 2.4.55-1 с поддержкой сжатия brotli от Google, mod_http2 2.0.2 для Red Hat Enterprise Linux, Rocky Linux, Alma Linux и CentOS. Mod_ssl собран динамически с OpenSSL 1.1.1o.

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

  • CVE-2022-37436: Apache HTTP Server: mod_proxy prior to 2.4.55 allows a backend to trigger HTTP response splitting
  • CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp Possible request smuggling
  • CVE-2006-20001: mod_dav out of bounds read, or write of zero byte

Заметим, что httpd 2.4.54 поддерживает TLS 1.3 при сборке с OpenSSL 1.1.1. Все новые шифры включены и работают. C версии 2.4.54-2 мы собираем OpenSSL+QUIC 1.1.1 отдельно, он устанавливается в /lib64 отдельно с суффиксом .so.81.1.1 и никак не затрагивает системные библиотеки.

Для установки в EL8 нужно включить соответствующий Module stream:

dnf module enable -y httpd:codeit

TLS 1.3 final на сегодня работает в Google Chrome 70+ и Mozilla Firefox 63+.

Для работы с SELinux в rpm включена соответствующая минимальная политика.

Модуль brotli уже включён в базовый RPM. Всё, что нужно — настроить фильтр

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript