安全更新:NGINX 1.31.6 Mainline RPM 和 DEB 软件包已发布,支持 HTTP/3、Brotli、TLS 1.3 和 OpenSSL 4.0.2,适用于 EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.31.6 Mainline 已新增到 CodeIT 仓库,支持 HTTP/3。http2 和 ngx_cache_purge 已内置,并且 OpenSSL 动态链接官方 OpenSSL 4.0.2,支持 QUIC。Google 的 Brotli 压缩模块和 ngx_http_geoip2 以动态模块形式提供,位于 nginx-module-brotli 和 nginx-module-geoip2 软件包中,nginx rpm 会自动安装它们(保留该依赖是为了让现有安装在升级时不丢失相关指令;几个月后我们会移除它,这两个模块将变为完全可选)。这些软件包适用于 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。每个软件包都会在 /etc/nginx/modules-enabled 中写入自己的 load_module 指令,安装后即可生效,无需手动修改 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

主要变更:

  • 变更:在 SSL 连接中接收到的 QUIC 传输参数扩展现在总是会被忽略。
  • 漏洞修复:如果指定了 control API socket,并且新的 nginx 可执行文件在使用 ngx_http_perl_module 模块构建时,二进制升级将无法工作。
  • 漏洞修复:在谓词 location 中评估谓词时发生的错误会被忽略,且该谓词会被当作 false 处理。
  • 漏洞修复:在查找嵌套 location 时发生的错误在配置了当前级别的由正则表达式或谓词给出的 locations 时,可能会被忽略。
  • 漏洞修复:读取配置时可能会发生段错误,如果使用了带有 “ranges” 参数的 “geo” 指令,并且对应的二进制基准文件已损坏。

修复的漏洞:

  • 安全性:在特定配置下,使用 HTTP/3 且 OpenSSL 为 3.5.0 及更早版本时,工作进程中可能会发生堆内存缓冲区溢出(CVE-2026-90439)。

安全更新:NGINX 1.30.5 Stable RPM 和 DEB 软件包已发布,支持 HTTP/3、Brotli、TLS 1.3 和 OpenSSL 4.0.2,适用于 EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.30.5 Stable 已新增到 CodeIT 仓库,支持 HTTP/3。http2 和 ngx_cache_purge 已内置,并且 OpenSSL 动态链接官方 OpenSSL 4.0.2,支持 QUIC。Google 的 Brotli 压缩模块和 ngx_http_geoip2 以动态模块形式提供,位于 nginx-module-brotli 和 nginx-module-geoip2 软件包中,nginx rpm 会自动安装它们(保留该依赖是为了让现有安装在升级时不丢失相关指令;几个月后我们会移除它,这两个模块将变为完全可选)。这些软件包适用于 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。每个软件包都会在 /etc/nginx/modules-enabled 中写入自己的 load_module 指令,安装后即可生效,无需手动修改 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: 现在在 SSL 连接中收到的 QUIC 传输参数扩展会始终被忽略。

修复的漏洞:

  • Security: 在使用 HTTP/3 且使用 OpenSSL 3.5.0 及更早版本并且特定配置下,工作进程中可能会发生堆内存缓冲区溢出(CVE-2026-90439)。

安全更新:mod_http3 v0.0.71 RPM 和 DEB 软件包已发布

mod_http3 v0.0.71 已新增到 CodeIT 仓库。这些软件包适用于 RHEL、CentOS、AlmaLinux、Rocky Linux 和 Oracle Linux 7、8、9 和 10,以及 Ubuntu 22.04 和 24.04。

本次更新修复了安全漏洞,建议尽快升级。

主要变更:

  • 在 Protocols 中包含 “h3” 的主机现在会用为其解析出来的 mod_ssl 证书提供 HTTP/3 服务(SSLCertificateFile 以及 mod_md 同样适用),方式与 mod_http2 依赖 mod_ssl 的方式一致。移除了 H3CertificatePath 和 H3CertificateKeyPath;从现有配置中删除它们。
  • 通过 SNI 选择 HTTP/3 证书,因此共享端口上的每个虚拟主机都会提供各自的证书,而不是第一个主机的证书。
  • 每个虚拟主机都有独立的 mod_http3 配置(AP_MODULE_FLAG_ALWAYS_MERGE)。不包含 H3 指令的主机过去会与主服务器共享设置,因此像 H3AltSvc 和 H3AltSvcMaxAge 这类按主机的参数会被默默忽略,且主机无法携带自己的证书。
  • 测试套件:stop.conf 现在使用与 httpd.conf 相同的 pid 文件,因此在默认 pid 文件位于 run/ 的 httpd 构建中,”apachectl -k stop” 会真正停止服务器;此前,套件中的每次重启都会继续与上一台服务器通信。

修复的漏洞:

  • SECURITY:HTTP/3 证书和密钥在 post_config 中加载,而 httpd 仍以特权运行,因此仅 root 可访问的密钥不再会导致非特权子进程失败,并且 mod_ssl 和 mod_http3 都读取同一组文件。

安全更新:mod_http3 v0.0.70 RPM 和 DEB 软件包已发布

mod_http3 v0.0.70 已新增到 CodeIT 仓库。这些软件包适用于 RHEL、CentOS、AlmaLinux、Rocky Linux 和 Oracle Linux 7、8、9 和 10,以及 Ubuntu 22.04 和 24.04。

本次更新修复了安全漏洞,建议尽快升级。

主要变更:

  • 发布了按 H3QpackTableCapacity 和 H3QpackBlockedStreams 大小配置的 QPACK 动态表,使请求头在 HTTP/2 上的压缩方式保持一致。
  • 请求工作线程池改为可通过 H3MinWorkers、H3MaxWorkers 和 H3MaxWorkerIdleSeconds 调整,而不是固定的 16 到 64 线程。
  • 新增了 H3StreamTimeout:停止读取的客户端不再能一直占用一个请求工作进程,直到该请求消失为止。
  • 新增了 H3MaxStreamErrors:当客户端持续发送畸形请求而不是停止响应时,连接会被关闭,而不是一直让它持续下去。
  • 发布了用于 HTTP/3 请求的 mod_ssl TLS 环境(SSL_PROTOCOL、SSL_CIPHER 以及相关项),因为这些设置由 mod_ssl 不进行管理。
  • 新增了 H3SessionTickets,使运维人员能够控制回访客户端是否恢复会话,而不是执行完整握手。
  • 新增了 H3SocketBufferSize,因此当连接以满速运行时,QUIC 套接字不再因为操作系统接收缓冲区过小而丢弃数据报。
  • 在模块的事件循环中强制执行 H3IdleTimeout:无请求的连接会被关闭,而不是被 QUIC keepalive ping 保持打开。
  • 拒绝畸形的 HTTP/3 请求并返回 stream error,而不是关闭连接,因此与其并行的请求仍可继续存活并处理。
  • 构建同时支持 httpd 2.4.x 和 trunk;响应 bucket 以及 child_stopped hook 现在在编译时选择。
  • 在 configure 时检测 stable 还是 devel 的 httpd,并将 graceful drain 回迁到 2.4.x 分支。

修复的漏洞:

  • SECURITY: 更新了 httpd 子模块,使 mpm_event 能容忍它从未接收过的连接,从而结束在通过 HTTP/3 处理 ErrorDocument 时导致的子进程崩溃。
  • SECURITY: 将 LimitRequestFields 和 LimitRequestFieldSize 应用于 HTTP/3,因此客户端不再能通过无限制的请求头让某个 stream 的内存持续增长。

NGINX 1.31.5 Mainline RPM 和 DEB 软件包已发布,支持 HTTP/3、Brotli、TLS 1.3 和 OpenSSL 4.0.2,适用于 EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.31.5 Mainline 已新增到 CodeIT 仓库,支持 HTTP/3。http2 和 ngx_cache_purge 已内置,并且 OpenSSL 动态链接官方 OpenSSL 4.0.2,支持 QUIC。Google 的 Brotli 压缩模块和 ngx_http_geoip2 以动态模块形式提供,位于 nginx-module-brotli 和 nginx-module-geoip2 软件包中,nginx rpm 会自动安装它们(保留该依赖是为了让现有安装在升级时不丢失相关指令;几个月后我们会移除它,这两个模块将变为完全可选)。这些软件包适用于 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。每个软件包都会在 /etc/nginx/modules-enabled 中写入自己的 load_module 指令,安装后即可生效,无需手动修改 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” 指令。
  • Bugfix:如果在对 HTTP/2 客户端发送响应时使用了带缓冲的 proxy 且发生了错误,工作进程中可能会出现 use-after-free。
  • Bugfix:如果工作进程在进行优雅关闭之前先耗尽了文件描述符,那么工作进程可能不会退出,日志中也可能出现 “accept4() failed (9: Bad file descriptor)” 告警。
  • Bugfix:当参数名过长时,向 FastCGI 和 uwsgi 后端发送的请求会被构造为无效格式。
  • 修复了 HTTP/3、ngx_http_slice_module 和 ngx_http_memcached_module 中的问题。

安全更新:openssl 4.0.2 RPM 和 DEB 软件包已发布

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 是一个安全修补版本。此版本修复的最严重 CVE 为 Moderate。
  • 此版本包含以下错误修复与缓解措施:
  • 修复了在 CCM 密码套件模式下,对 AEAD 密码的空密文进行认证标记检查。

修复的漏洞:

  • 修复了 QUIC 服务器在处理 `INITIAL` 数据包时可能触发 double free 的问题。(CVE-2026-18798)
  • 修复了 CMS 密钥解包中的堆缓冲区溢出。(CVE-2026-63072)
  • 修复了通过精心构造的 `protectionAlg` 访问 CMP 服务器时出现的无效指针解引用。(CVE-2026-63076)
  • 修复了 QUIC 服务器入站通道队列中的内存无界增长。(CVE-2026-14456)
  • 修复了 RPK 服务器在选择签名算法时可能解引用缺失证书的问题。(CVE-2026-14457)
  • 修复了为未来纪元缓冲 DTLS 记录而导致的过度内存使用。(CVE-2026-54874)
  • 修复了在校验 OCSP 响应时客户端侧的内存泄漏。(CVE-2026-54876)
  • 修复了在校验 CMP 响应时使用不受信任的 Sender DN 作为格式字符串。(CVE-2026-63073)
  • 修复了 CMP 中 `extraCerts` 的缓存无期限增长问题。(CVE-2026-63074)
  • 修复了 QUIC 中仅 ACK 数据包的保留可能导致内存耗尽的问题。(CVE-2026-63075)
  • 修复了在使用 `EVP_Cipher()` 时,空密文下可能发生 AEAD 伪造的情况。(CVE-2026-75803)

带有 QUIC 支持的库仍作为单独的、不会冲突的 openssl-quic-libs 软件包提供,使用独立的 .so.81.4 后缀,以避免与官方 .so.X 冲突。

NGINX 1.31.4 Mainline RPM 和 DEB 软件包已发布,支持 HTTP/3、Brotli、TLS 1.3 和 OpenSSL 4.0.1,适用于 EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.31.4 Mainline 已新增到 CodeIT 仓库,支持 HTTP/3。http2 和 ngx_cache_purge 已内置,并且 OpenSSL 动态链接官方 OpenSSL 4.0.1,支持 QUIC。Google 的 Brotli 压缩模块和 ngx_http_geoip2 以动态模块形式提供,位于 nginx-module-brotli 和 nginx-module-geoip2 软件包中,nginx rpm 会自动安装它们(保留该依赖是为了让现有安装在升级时不丢失相关指令;几个月后我们会移除它,这两个模块将变为完全可选)。这些软件包适用于 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。每个软件包都会在 /etc/nginx/modules-enabled 中写入自己的 load_module 指令,安装后即可生效,无需手动修改 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: stream 和 mail 模块中的 “proxy_protocol” 指令现在支持 PROXY 协议版本 2。
  • Change: 现在对后端的 HTTP/2 和 gRPC 请求总是使用伪首部 “:authority” 发送,而对后端的 HTTP/1.1 请求则使用 “Host” 首部发送。
  • Bugfix: 如果使用了 “select” 方法,工作进程中可能会发生段错误。
  • Bugfix: 具有非零 “Content-Length” 首部行的、不完整的 gRPC 响应现在会被视为格式错误。
  • Bugfix: 修复了与使用脚本代码的第三方模块的二进制兼容性问题;该问题出现在 1.31.3 中。
  • Bugfix: 在 ngx_http_perl_module 中。
  • Bugfixes 于 HTTP/2、HTTP/3、ngx_http_image_filter_module 和 ngx_http_grpc_module。

sshoq 0.5.0 RPM 和 DEB 软件包已发布

sshoq 0.5.0 已新增到 CodeIT 仓库。这些软件包适用于 RHEL、CentOS、AlmaLinux、Rocky Linux 和 Oracle Linux 8、9 和 10,以及 Ubuntu 22.04 和 24.04。

主要变更:

  • SFTP 客户端中的 OpenSSH 风格路径引用与转义
  • feat:为 sftp/scp 操作显示传输进度(百分比和速度)
  • feat:新增了使用 Ctrl+C 取消 sftp/scp 传输的功能
  • feat:在 SFTP 客户端中支持 OpenSSH 风格的 cd 快捷方式
  • feat:新增了对在 SFTP 客户端中使用通配符匹配 put/get 源文件的支持
  • perf:对 SFTP 传输进行流水线处理,消除每个分块的往返瓶颈
  • fix:在所有 sftp 客户端/服务器错误消息中都包含文件路径
  • sftp:默认在客户端遵循符号链接,并新增 -no-follow-symlinks 选项
  • perf:将 SFTP 的 JSON 协议替换为更紧凑的二进制格式
  • 增大传输窗口
  • sftp:get -r 在遇到 permission-denied 文件后仍继续