Обновление безопасности: Выпущены 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-пакеты mod_http3 v0.0.71

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

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

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

  • Хост с «h3» в Protocols теперь обслуживает HTTP/3, используя сертификат mod_ssl, разрешённый для него (SSLCertificateFile и mod_md также), как это делает mod_http2, опираясь на mod_ssl. Удаляются H3CertificatePath и H3CertificateKeyPath; уберите их из существующих конфигураций.
  • Выбор HTTP/3-сертификата выполняется по SNI, так что каждый виртуальный хост на общем порту обслуживает свой собственный сертификат вместо сертификата первого хоста.
  • Для каждого виртуального хоста теперь используется отдельная конфигурация mod_http3 (AP_MODULE_FLAG_ALWAYS_MERGE). Хост без директив H3 раньше разделял конфигурацию главного сервера, поэтому параметры для конкретного хоста, такие как H3AltSvc и H3AltSvcMaxAge, незаметно игнорировались, и хосты не могли использовать собственный сертификат.
  • Набор тестов: stop.conf теперь указывает тот же файл pid, что и httpd.conf, поэтому «apachectl -k stop» действительно останавливает сервер в сборках httpd, где файл pid по умолчанию находится в run/; ранее при каждом перезапуске в рамках набора тестов поддерживалась связь со старым сервером.

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

  • SECURITY: Загрузка сертификата и ключа HTTP/3 выполняется в post_config при сохранении привилегированного запуска httpd, поэтому ключ, доступный только root, больше не приводит к ошибке в непривилегированном дочернем процессе, и как mod_ssl, так и mod_http3 читают одни и те же файлы.

Обновление безопасности: Выпущены 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, так что клиент больше не может раздувать память потока неограниченными заголовками.

Выпущены 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-пакеты openssl 4.0.2

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

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

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

  • OpenSSL 4.0.2 — это исправляющий пакет по безопасности. Самая серьёзная из устранённых в этом выпуске уязвимостей — Moderate.
  • В этом выпуске учтены следующие исправления ошибок и меры по снижению рисков:
  • Исправлена проверка тегов аутентификации для пустого шифртекста в режимах AEAD для блочных шифров в режиме CCM.

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

  • Исправлена возможность того, что QUIC-сервер мог вызывать двойное освобождение при обработке пакета `INITIAL`. (CVE-2026-18798)
  • Исправлен выход за пределы буфера в куче при разворачивании ключей в CMS. (CVE-2026-63072)
  • Исправлено обращение по недопустимому указателю в CMP-сервере через специально сформированный `protectionAlg`. (CVE-2026-63076)
  • Исправлен неограниченный рост памяти в очереди входящих каналов QUIC-сервера. (CVE-2026-14456)
  • Исправлена возможность для RPK-сервера при выборе алгоритма подписи приводить к разыменованию отсутствующего сертификата. (CVE-2026-14457)
  • Исправлено чрезмерное использование памяти при буферизации DTLS-записей для будущего эпоха. (CVE-2026-54874)
  • Исправлена утечка памяти на стороне клиента при проверке ответа OCSP. (CVE-2026-54876)
  • Исправлено использование ненадёжного Sender DN в качестве строки формата при проверке ответа CMP. (CVE-2026-63073)
  • Исправлен бесконечный рост кэша в CMP для `extraCerts`. (CVE-2026-63074)
  • Исправлена возможность того, что удержание пакетов только с ACK в QUIC приводило к исчерпанию памяти. (CVE-2026-63075)
  • Исправлена возможность подделок AEAD с пустым шифртекстом при использовании `EVP_Cipher()`. (CVE-2026-75803)

Библиотеки с поддержкой QUIC по-прежнему поставляются отдельным, не конфликтующим пакетом openssl-quic-libs с собственным суффиксом .so.81.4, чтобы избежать конфликтов с официальным .so.X.

Выпущены 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.

Выпущены RPM- и DEB-пакеты sshoq 0.5.0

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

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

  • Экранирование и кавычки путей в стиле OpenSSH в клиенте SFTP
  • feat: отображается прогресс передачи (процент и скорость) для операций sftp/scp
  • feat: добавлена возможность отменять передачи sftp/scp с помощью Ctrl+C
  • feat: добавлены сокращения cd в стиле OpenSSH в клиенте SFTP
  • feat: добавлена поддержка подстановочных символов для исходных файлов put/get в клиенте SFTP
  • perf: конвейеризация передач SFTP для устранения узкого места с дополнительными задержками на каждый блок при обмене туда-обратно
  • fix: путь к файлу включается во все сообщения об ошибках клиента/сервера sftp
  • sftp: по умолчанию следуют символическим ссылкам на клиенте, добавлен ключ -no-follow-symlinks
  • perf: заменён JSON-протокол SFTP на компактный двоичный формат
  • Увеличено окно передачи
  • sftp: продолжение выполнения get -r после файлов с ошибкой permission-denied

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).

NGINX 1.23.3 QUIC, собранный с Brotli, TLS 1.3, OpenSSL 1.1.1s, поддержкой http2 для Red Hat Enterprise Linux, CentOS, Rocky, Oracle, Alma Linux EL7/EL8/EL9

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

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

RHEL 7 / CentOS 7:

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

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

dnf module enable -y nginx:codeit-quic

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

ssl_protocols TLSv1.2 TLSv1.3;

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