Обновление безопасности: Выпущены 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-пакеты apr-util 1.6.5

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

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

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

  • Исправлены ошибки компиляции oracle DBD, добавленные в 1.6.4. PR 70170.
  • apr_brigade: Разделение последней LF в apr_brigade_split_line больше не выполняется, чтобы не создавать пустой бакет. PR 64273
  • apr_brigade: Бакеты метаданных теперь игнорируются в apr_brigade_split_line, apr_brigade_flatten и apr_brigade_to_iovec, исправляя возможное неопределённое поведение. PR 68278
  • apr_crypto_openssl: Совместимость с OpenSSL 3.
  • apr_crypto_openssl: Используется OPENSSL_init_crypto() для инициализации OpenSSL в версиях 1.1+.
  • apr_memcache: Исправлен поиск имени, чтобы поддерживались и IPv6, и IPv4.
  • configure: Исправлено обнаружение Berkeley DB компиляторами, которые требуют строгую совместимость с C99. PR 66396.

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

  • SECURITY: CVE-2026-34502: Переполнение буфера в куче в клиенте memcached APR: уязвимость переполнения буфера на основе кучи в клиенте Apache Portable Runtime Utility memcached. Эта проблема затрагивает Apache Portable Runtime Utility: начиная с 1.3.0 и по 1.6.3 включительно.
  • SECURITY: CVE-2026-34501: Apache Portable Runtime Utility: Переполнение буфера в куче в клиенте redis APR: уязвимость переполнения буфера на основе кучи в клиенте Apache Portable Runtime Utility redis. Эта проблема затрагивает Apache Portable Runtime Utility: начиная с 1.6.0 и по 1.6.3 включительно. Пользователям рекомендуется выполнить обновление до версии 1.6.4, которая устраняет проблему.
  • SECURITY: CVE-2026-34191: Apache Portable Runtime Utility: SQL Injection в apr_dbd_oracle: Недостаточная нейтрализация специальных элементов, используемых в команде SQL («SQL Injection»), в уязвимости Apache Portable Runtime Utility через провайдер apr_dbd_oracle. Эта проблема затрагивает Apache Portable Runtime Utility: начиная с 1.6.0 и по 1.6.3 включительно. Пользователям рекомендуется выполнить обновление до версии 1.6.4, которая устраняет проблему.
  • SECURITY: CVE-2026-32327: Apache Portable Runtime Utility: аварийное завершение из‑за рекурсии в XML-стеке в apr-util: ошибка в APR-util версии 1.6.3 (и более ранних) позволяет атаковать рекурсией в стеке любого потребителя библиотек, который выполняет разбор XML из ненадёжных источников и использует функцию apr_xml_quote_elem(). Пользователям рекомендуется выполнить обновление до версии 1.6.4, которая устраняет проблему.
  • SECURITY: CVE-2025-49506: apr_password_validate() уязвима к атаке по времени APR-util версии 1.6.3 (и более ранние) функция apr_password_validate() не выполняла сравнение хэшей или паролей за постоянное время, что потенциально могло раскрывать их содержимое через побочный канал по времени атаки, особенно на платформах без crypt() таких как Windows, BeOS, NetWare или Android. Пользователям рекомендуется выполнить обновление до версии 1.6.4, которая устраняет проблему.

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

sshoq 0.4.0 rpms released

sshoq 0.4.0 rpms released and added to all supported platforms.

Major changes since 0.3.0:

— fix(auth): return error on key load failure instead of panicking on nil key — fix: print error to stderr when sshoq-server fails to start — Feature/default ssh keys from dot ssh — wildcard for get -r — SFTP client: Add readline-style arrow keys support — feat: add -scp mode for non-interactive file transfer — feat: support multiple simultaneous local and remote port forwardings — fix: correct the port forwarding syntax error message — feat: add tab completion for file paths in the SFTP client — sftp client: add wildcard/glob support to ls — sftp client: add wildcard/glob support to get — fix: reassemble chunked SFTP messages across channel data messages — fix: linux-arm64 release build and drop windows client-only pipeline