mod_http2 v2.0.33 rpms released

mod_http2 v2.0.33 rpms released and added to all supported platforms.

Changes:

Fixes CVE-2025-53020 where a client can increase memory consumption for a HTTP/2 connection via repeated request header names, leading to denial of service.

Fixes CVE-2025-49630 where in certain proxy configurations whith mod_proxy_http2 as the backend, an assertion can be triggered by certain requests, leading to denial of service.

Apache httpd 2.4.64 with brotli support, TLS 1.3, OpenSSL 3.5.1 with http2, mod_http2 2.0.32 and ALPN for Red Hat Enterprise Linux, CentOS 7, Alma Linux, Rocky Linux 8/9/10

Apache httpd 2.4.64 added to the repository.

Changes:

  *) SECURITY: CVE-2025-53020: Apache HTTP Server: HTTP/2 DoS by
     Memory Increase (cve.mitre.org)
     Late Release of Memory after Effective Lifetime vulnerability in
     Apache HTTP Server.
     This issue affects Apache HTTP Server: from 2.4.17 up to 2.4.63.
     Users are recommended to upgrade to version 2.4.64, which fixes
     the issue.
     Credits: Gal Bar Nahum

  *) SECURITY: CVE-2025-49812: Apache HTTP Server: mod_ssl TLS
     upgrade attack (cve.mitre.org)
     In some mod_ssl configurations on Apache HTTP Server versions
     through to 2.4.63, an HTTP desynchronisation attack allows a
     man-in-the-middle attacker to hijack an HTTP session via a TLS
     upgrade.
     Only configurations using "SSLEngine optional" to enable TLS
     upgrades are affected. Users are recommended to upgrade to
     version 2.4.64, which removes support for TLS upgrade.
     Credits: Robert Merget (Technology Innovation Institute)

  *) SECURITY: CVE-2025-49630: Apache HTTP Server: mod_proxy_http2
     denial of service (cve.mitre.org)
     In certain proxy configurations, a denial of service attack
     against Apache HTTP Server versions 2.4.26 through to 2.4.63
     can be triggered by untrusted clients causing an assertion in
     mod_proxy_http2.
     Configurations affected are a reverse proxy is configured for an
     HTTP/2 backend, with ProxyPreserveHost set to "on".
     Credits: Anthony CORSIEZ

  *) SECURITY: CVE-2025-23048: Apache HTTP Server: mod_ssl access
     control bypass with session resumption (cve.mitre.org)
     In some mod_ssl configurations on Apache HTTP Server 2.4.35
     through to 2.4.62, an access control bypass by trusted clients
     is possible using TLS 1.3 session resumption.
     Configurations are affected when mod_ssl is configured for
     multiple virtual hosts, with each restricted to a different set
     of trusted client certificates (for example with a different
     SSLCACertificateFile/Path setting). In such a case, a client
     trusted to access one virtual host may be able to access another
     virtual host, if SSLStrictSNIVHostCheck is not enabled in either
     virtual host.
     Credits: Sven Hebrok, Felix Cramer, Tim Storm, Maximilian Radoy,
     and Juraj Somorovsky at Paderborn University

  *) SECURITY: CVE-2024-47252: Apache HTTP Server: mod_ssl error log
     variable escaping (cve.mitre.org)
     Insufficient escaping of user-supplied data in mod_ssl in Apache
     HTTP Server 2.4.63 and earlier allows an untrusted SSL/TLS
     client to insert escape characters into log files in some
     configurations.
     In a logging configuration where CustomLog is used with
     "%{varname}x" or "%{varname}c" to log variables provided by
     mod_ssl such as SSL_TLS_SNI, no escaping is performed by either
     mod_log_config or mod_ssl and unsanitized data provided by the
     client may appear in log files.
     Credits: John Runyon

  *) SECURITY: CVE-2024-43394: Apache HTTP Server: SSRF on Windows
     due to UNC paths (cve.mitre.org)
     Server-Side Request Forgery (SSRF) in Apache HTTP Server on
     Windows allows to potentially leak NTLM hashes to a malicious
     server via
     mod_rewrite or apache expressions that pass unvalidated request
     input.
     This issue affects Apache HTTP Server: from 2.4.0 through 2.4.63.
     Note:  The Apache HTTP Server Project will be setting a higher
     bar for accepting vulnerability reports regarding SSRF via UNC
     paths.
     The server offers limited protection against administrators
     directing the server to open UNC paths.
     Windows servers should limit the hosts they will connect over
     via SMB based on the nature of NTLM authentication.
     Credits: Kainan Zhang (@4xpl0r3r) from Fortinet

  *) SECURITY: CVE-2024-43204: Apache HTTP Server: SSRF with
     mod_headers setting Content-Type header (cve.mitre.org)
     SSRF in Apache HTTP Server with mod_proxy loaded allows an
     attacker to send outbound proxy requests to a URL controlled by
     the attacker.  Requires an unlikely configuration where
     mod_headers is configured to modify the Content-Type request or
     response header with a value provided in the HTTP request.
     Users are recommended to upgrade to version 2.4.64 which fixes
     this issue.

  *) SECURITY: CVE-2024-42516: Apache HTTP Server: HTTP response
     splitting (cve.mitre.org)
     HTTP response splitting in the core of Apache HTTP Server allows
     an attacker who can manipulate the Content-Type response headers
     of applications hosted or proxied by the server can split the
     HTTP response.
     This vulnerability was described as CVE-2023-38709 but the patch
     included in Apache HTTP Server 2.4.59 did not address the issue.
     Users are recommended to upgrade to version 2.4.64, which fixes
     this issue.

  *) mod_proxy_ajp: Use iobuffersize set on worker level for the IO buffer
     size. PR 69402 [Jari Ahonen <[email protected]>]

  *) mod_ssl: Drop $SSLKEYLOGFILE handling internally for OpenSSL 3.5
     builds which enable it in libssl natively.  [Joe Orton]

  *) mod_asis: Fix the log level of the message AH01236.
     Github #527 [Michael Kaufmann <mail michael-kaufmann.ch>]

  *) mod_session_dbd: ensure format used with SessionDBDCookieName and
     SessionDBDCookieName2 are correct.
     Github #503 [Thomas Meyer <thomas m3y3r.de>]

  *) mod_headers: 'RequestHeader set|edit|edit_r Content-Type X' could
     inadvertently modify the Content-Type _response_ header. Applies to
     Content-Type only and likely to only affect static file responses.
     [Eric Covener]

  *) mod_ssl: Remove warning over potential uninitialised value
     for ssl protocol prior to protocol selection.
     [Graham Leggett]

  *) mod_proxy: Reuse ProxyRemote connections when possible, like prior
     to 2.4.59.  [Jean-Frederic Clere, Yann Ylavic]

  *) mod_systemd: Add systemd socket activation support.  [Paul Querna,
     Jan Kaluza, Lubos Uhliarik <luhliari redhat.com>, Joe Orton]

  *) mod_systemd: Log the SELinux context at startup if available and
     enabled.  [Joe Orton]

  *) mod_http2: update to version 2.0.32
     The code setting the connection window size was set wrong,
     preventing `H2WindowSize` to work.
     Fixed <https://github.com/icing/mod_h2/issues/300>.
     [Stefan Eissing, Michael Kaufmann]

  *) mod_http2: update to version 2.0.30
     - Fixed bug in handling over long response headers. When the 64 KB limit
       of nghttp2 was exceeded, the request was not reset and the client was
       left hanging, waiting for it. Now the stream is reset.
     - Added new directive `H2MaxHeaderBlockLen` to set the limit on response
       header sizes.
     - Fixed handling of Timeout vs. KeepAliveTimeout when first request on a
       connection was reset.

  *) mod_lua: Fix memory handling in LuaOutputFilter. PR 69590.
     [Guillermo Grandes <guillermo.grandes gmail.com>]

  * mod_proxy_http2: revert r1912193 for detecting broken backend connections
    as this interferes with backend selection who a node is unresponsive.
    PR69624.

  *) mod_proxy_balancer: Fix a regression that caused stickysession keys no
     longer be recognized if they are provided as query parameter in the URL.
     PR 69443 [Ruediger Pluem]

  *) mod_md: update to version 2.5.2
     - Fixed TLS-ALPN-01 challenges when multiple `MDPrivateKeys` are specified
       with EC keys before RSA ones. Fixes #377. [Stefan Eissing]
     - Fixed missing newlines in the status page output. [Andreas Groth]

  *) mod_dav: Add API to expose DavBasePath setting.  [Joe Orton]

  *) mod_md: update to version 2.5.1
     - Added support for ACME profiles with new directives MDProfile and
       MDProfileMandatory.
     - When installing a custom CA file via `MDCACertificateFile`, also set the
       libcurl option CURLSSLOPT_NO_REVOKE that suppresses complains by Schannel
       (when curl is linked with it) about missing CRL/OCSP in certificates.
     - Fixed handling of corrupted httpd.json and added test 300_30 for it.
       File is removed on error and written again. Fixes #369.
     - Added explanation in log for how to proceed when md_store.json could not be
       parsed and prevented the server start.
     - restored fixed to #336 and #337 which got lost in a sync with Apache svn
     - Add Issue Name/Uris to certificate information in md-status handler
     - MDomains with static certificate files have MDRenewMode "manual", unless
       "always" is configured.

  *) core: Report invalid Options= argument when parsing AllowOverride
     directives.
     Github #310 [Zhou Qingyang <zhou1615 umn.edu>]

  *) scoreboard/mod_http2: record durations of HTTP/2 requests.
     PR 69579 [Pierre Brochard <[email protected]>]

OpenSSL 3.5.1 rpms released

openssl 3.5.1 rpms released and added to all supported platforms (Alma Linux, Rocky Linux, RedHat Enterprise Linux RHEL, Oracle Linux).

Fix x509 application adds trusted use instead of rejected use (CVE-2025-4575)

OpenSSL 3.5.1 is a release featuring QUIC server support.

We continue to build libs with quic support as a separate non-conflicting package openssl-quic-libs, files have separate .so.81.3 suffix to avoid conflicts with the official .so.3.

OpenSSL 3.5.0 with official QUIC server support rpms released

openssl 3.5.0 rpms released and added to all supported platforms.

OpenSSL 3.5.0 is a major release featuring QUIC server support.

We continue to build libs with quic support as a separate non-conflicting package openssl-quic-libs, files have separate .so.81.3 suffix to avoid conflicts with the official .so.3.

All the libraries stack rebuilt with OpenSSL 3.5.0, including ngtcp2 (quic client name changed from qtlsclient to osslclient).

NGINX 1.29.0 Mainline with Brotli, TLS 1.3, OpenSSL 3.5.0, HTTP/2 and HTTP/3 for Red Hat Enterprise Linux, CentOS, Rocky, Oracle, Alma Linux EL7/EL8/EL9/EL10

nginx 1.29.0 Mainline with HTTP/3 support added to EL7, EL8, EL9, EL10 repositories. brotli compression module from Google, http2, ngx cache purge and ngx http geoip2 modules added or built-in. OpenSSL built dynamically using official OpenSSL 3.5.0 with QUIC support.

Our OpenSSL 3.5.0 builds break compatibility with nginx 1.28.x and earlier versions, as they are compiled against quictls project with their own APIs. Thus, to upgrade OpenSSL QUIC libs, please use nginx >= 1.29.0.

*) Feature: support for response code 103 from proxy and gRPC backends; the “early_hints” directive.

*) Feature: loading of secret keys from hardware tokens with OpenSSL provider.

*) Feature: support for the “so_keepalive” parameter of the “listen” directive on macOS.

*) Change: the logging level of SSL errors in a QUIC handshake has been changed from “error” to “crit” for critical errors, and to “info” for the rest; the logging level of unsupported QUIC transport parameters has been lowered from “info” to “debug”.

*) Change: the native nginx/Windows binary release is now built using Windows SDK 10.

*) Bugfix: nginx could not be built by gcc 15 if ngx_http_v2_module or ngx_http_v3_module modules were used.

*) Bugfix: nginx might not be built by gcc 14 or newer with -O3 -flto optimization if ngx_http_v3_module was used.

*) Bugfixes and improvements in HTTP/3.

OpenSSL 3.5.0 in testing

We are tesing OpenSSL 3.5.0 and corresponding builds of ngtcp2, nghttp3, nghttp2, nginx against OpenSSL 3.5.0.

When it will be ready, the plan is to replace quictls (that is poorly supported and marked as abandoned in April 2025) with OpenSSL 3.5.0.

For now, mod_http2 can be built fine, but as soon as we will have conflicts with nginx. Currently, nginx has patches in its dev branch to support OpenSSL 3.5.x and use HTTP/3 from it. Thus, we are waiting for next nginx release to switch from quictls to OpenSSL.

The change will look as follows. Package name will not change (openssl-quic-libs), version will be 3.5.0 (instead of 3.2.x), .so version will remain 81.3. SO API is completely new, so requirements section will be explicitly set to openssl-quic-libs >= 3.5.0.

Please feel free to test (in CodeIT-testing repo) and comment 🙂

NGINX 1.28.0 Stable with Brotli, TLS 1.3, OpenSSL 3.0.16, HTTP/2 and HTTP/3 for Red Hat Enterprise Linux, CentOS, Rocky, Oracle, Alma Linux EL7/EL8/EL9

nginx 1.28.0 Stable with HTTP/3 support added to EL7, EL8, EL9 repositories. brotli compression module from Google, http2, ngx cache purge and ngx http geoip2 modules added or built-in. OpenSSL built dynamically using OpenSSL+QUIC 3.0.16.

Incorporating new features and bug fixes from the 1.27.x mainline branch — including memory usage and CPU usage optimizations in complex SSL configurations, automatic re‑resolution of hostnames in upstream groups, performance enhancements in QUIC, OCSP validation of client SSL certificates and OCSP stapling support in the stream module, variables support in the proxy_limit_rate, fastcgi_limit_rate, scgi_limit_rate, and uwsgi_limit_rate directives, the proxy_pass_trailers directive, and more.

NGINX 1.27.5 Mainline with Brotli, TLS 1.3, OpenSSL 3.0.16, HTTP/2 and HTTP/3 for Red Hat Enterprise Linux, CentOS, Rocky, Oracle, Alma Linux EL7/EL8/EL9

nginx 1.27.5 Mainline with HTTP/3 support added to EL7, EL8, EL9 repositories. brotli compression module from Google, http2, ngx cache purge and ngx http geoip2 modules added or built-in. OpenSSL built dynamically using OpenSSL+QUIC 3.0.16.

Featuring CUBIC congestion control in QUIC connections and bugfixes in ssl_curves and ssl password files; Performance improvements and bugfixes in HTTP/3