安全更新: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 的内存持续增长。

安全更新:apr-util 1.6.5 RPM 和 DEB 软件包已发布

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

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

主要变更:

  • 修复了在 1.6.4 中引入的 oracle DBD 编译错误。PR 70170。
  • apr_brigade: apr_brigade_split_line 不再分割最后的 LF,以避免生成空的 bucket。PR 64273
  • apr_brigade: apr_brigade_split_line、apr_brigade_flatten 和 apr_brigade_to_iovec 现在会忽略元数据 bucket,从而修复可能的未定义行为。PR 68278
  • apr_crypto_openssl: 与 OpenSSL 3 的兼容性。
  • apr_crypto_openssl: 使用 OPENSSL_init_crypto() 来在 1.1+ 版本上初始化 OpenSSL。
  • apr_memcache: 修复名称查找,使其同时支持 IPv6 和 IPv4。
  • configure: 使用强制严格 C99 兼容性的编译器修复了 Berkeley DB 的检测。PR 66396。

修复的漏洞:

  • SECURITY: CVE-2026-34502: APR memcached 客户端中的堆缓冲区溢出:Apache Portable Runtime Utility memcached 客户端中的基于堆的缓冲区溢出漏洞。该问题影响 Apache Portable Runtime Utility:从 1.3.0 到 1.6.3。
  • SECURITY: CVE-2026-34501: Apache Portable Runtime Utility:APR redis 客户端中的堆缓冲区溢出: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:apr_dbd_oracle 中的 SQL 注入:通过 apr_dbd_oracle 提供程序的 Apache Portable Runtime Utility 漏洞中,使用于 SQL 命令(”SQL Injection”)的特殊元素的中和不当。该问题影响 Apache Portable Runtime Utility:从 1.6.0 到 1.6.3。建议用户升级到 1.6.4 版本,该版本修复了该问题。
  • SECURITY: CVE-2026-32327: Apache Portable Runtime Utility:apr-util XML 栈递归崩溃: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() 函数在比较 hashes 或 passwords 时并非恒定时间,可能会通过时序攻击的侧信道泄露其内容,尤其是在没有 crypt() 的平台上,如 Windows、BeOS、NetWare 或 Android。建议用户升级到 1.6.4 版本,该版本修复了该问题。