Apache httpd 2.4.68 with Brotli support, TLS 1.3, OpenSSL 4.0.0 with http2 mod_http2 2.0.42 and ALPN for Red Hat Enterprise Linux, CentOS 7, Alma Linux, Rocky Linux 8/9/10

Apache httpd 2.4.68 RPMs released and added to all supported platforms.

Major changes:

 *) SECURITY: CVE-2026-49975: mod_http2 denial of service
     (cve.mitre.org)
     Memory Allocation with Excessive Size Value vulnerability in
     Apache HTTP Server's mod_http leads to denial of service via
     malicious HTTP requests.
     This issue affects Apache HTTP Server: from 2.4.17 through
     2.4.67.
     Credits: Quang Luong of Calif.IO in collaboration with OpenAI
     Codex

  *) SECURITY: CVE-2026-48913: mod_http2 memory corruption when file
     handles exhausted (cve.mitre.org)
     Use After Free vulnerability in Apache HTTP Server module
     mod_http2 when file handles are already exhausted.
     This issue affects Apache HTTP Server: from 2.4.55 through
     2.4.67.
     Credits: Sam Lovejoy, IBM X-Force Offensive Research (XOR)

  *) SECURITY: CVE-2026-44631: Heap Underflow in `ap_regname` via
     Signed Char Overflow (cve.mitre.org)
     Buffer Underwrite vulnerability in Apache HTTP Server on crafted
     regular expressions in the configuration.
     This issue affects Apache HTTP Server: from 2.4.0 through 2.4.67.
     Users are recommended to upgrade to version 2.4.68, which fixes
     the issue.
     Credits: Zhenpeng (Leo) Lin at depthfirst

  *) SECURITY: CVE-2026-44186: Loop in `proxy_ftp_handler` in
     mod_proxy_ftp (cve.mitre.org)
     Loop with Unreachable Exit Condition ('Infinite Loop')
     vulnerability in the mod_proxy_ftp module in Apache HTTP Server
     with an attacker controlled backend FTP server.
     This issue affects undefined: from 2.4.0 through 2.4.67.
     Users are recommended to upgrade to version 2.4.68, which fixes
     the issue.
     Credits: Zhenpeng (Leo) Lin at depthfirst

  *) SECURITY: CVE-2026-44185: Stack Buffer Over-Read in mod_ssl OCSP
     `send_request` (cve.mitre.org)
     Buffer Over-read vulnerability in Apache HTTP Server via
     outbound OCSP requests to an attacker controlled OCSP server
     This issue affects Apache HTTP Server: from 2.4.0 through 2.4.67.
     Users are recommended to upgrade to version 2.4.68, which fixes
     the issue.
     Credits: Zhenpeng (Leo) Lin at depthfirst

  *) SECURITY: CVE-2026-44119: escalation of privilege through
     expressions in .htaccess in multiple modules (cve.mitre.org)
     Improper Privilege Management vulnerability in Apache HTTP
     Server 2.4.67 and earlier allows local .htaccess authors to read
     files with the privileges of the httpd user.
     This issue affects Apache HTTP Server: from through 2.4.67.
     Users are recommended to upgrade to version 2.4.68, which fixes
     the issue.
     Credits: Lucian Nitescu

  *) SECURITY: CVE-2026-43951: OOB Read in `merge_response_headers`
     can cause crash (cve.mitre.org)
     Out-of-bounds Read vulnerability in Apache HTTP Server with
     mod_headers and mod_mime and multiple response languages.
     This issue affects Apache HTTP Server: from 2.4.0 through 2.4.67.
     Credits: Zhenpeng (Leo) Lin at depthfirst

  *) SECURITY: CVE-2026-42536: mod_xml2enc heap overflow
     (cve.mitre.org)
     Heap-based Buffer Overflow vulnerability in Apache HTTP Server
     withВ mod_xml2enc, xml2StartParse, and untrusted content
     This issue affects Apache HTTP Server: from 2.4.0 through 2.4.67.
     Users are recommended to upgrade to version 2.4.68, which fixes
     the issue.
     Credits: Zhenpeng (Leo) Lin at depthfirst

  *) SECURITY: CVE-2026-42535: mod_dav_fs protected directory access
     (cve.mitre.org)
     A path handling issue in mod_dav_fs in Apache 2.4.67 and
     earlierВ allows a WebDAV content author to directly manipulate
     trusted DAV property databases, potentially causing child
     process crashes.
     Users are recommended to upgrade to version 2.4.68, which fixes
     this issue.
     Credits: Zhenpeng (Leo) Lin at depthfirst

  *) SECURITY: CVE-2026-34356: ProxyPassReverseCookieMap buffer
     overflow (cve.mitre.org)
     Heap-based Buffer Overflow vulnerability in Apache HTTP Server
     with malicious backend servers and ProxyPassReverseCookie*
     This issue affects Apache HTTP Server: from 2.4.0 through 2.4.67.
     Users are recommended to upgrade to version 2.4.68, which fixes
     the issue.
     Credits: Arkadi Vainbrand

  *) SECURITY: CVE-2026-34355: mod_proxy_html buffer overflow
     (cve.mitre.org)
     A buffer overflow in mod_proxy_html in Apache HTTP Server 2.4.67
     and earlier allows an attack by an untrusted backend.
     Users are recommended to upgrade to version 2.4.68, which fixes
     this issue.
     Credits: Elhanan Haenel

  *) SECURITY: CVE-2026-29170: mod_proxy_ftp XSS (cve.mitre.org)
     A cross-site scripting vulnerability exists in mod_proxy_ftp's
     HTML directory list generation in Apache HTTP Server 2.4.67 and
     earlier when listing FTP directory contents either via forward
     or reverse proxy configuration.
     Users are recommended to upgrade to version 2.4.68, which fixes
     this issue.
     Credits: Pavel Kohout, Aisle Research, Aisle.com

  *) SECURITY: CVE-2026-29167: mod_ldap per-dir use-after-free
     (cve.mitre.org)
     Use After Free vulnerability in Apache HTTP Server with mod_ldap
     in per-directory configuration
     This issue affects Apache HTTP Server: from 2.4.0 through 2.4.67.
     Users are recommended to upgrade to version 2.4.68, which fixes
     the issue.
     Credits: Pavel Kohout, Aisle Research, Aisle.com

  *) mod_ssl, ab: Add support for OpenSSL 4.0.  [Joe Orton]

  *) mod_ssl: Add SerialNumber as a recognized attribute type for SSL
     distinguished name variables.  [Michael Osipov <michaelo apache.org>,
     Benjamin Demarteau <benjamin.demarteau liege.be>]

  *) mod_ssl: Set auth type to "ClientCert" when client certificate authentication
     has been performed.  [Michael Osipov <michaelo apache.org>]

  *) mod_include: Don't print any of if/elsif/else content when
     a conditional evaluation returns an error. [Eric Covener]

  *) mod_unixd: CoreDumpDirectory requires enabling tracing on FreeBSD 11+.
     PR 65819.  [David CARLIER <devnexen gmail.com>]

  *) mod_file_cache: Fix crashes for mmap'ed files under threaded
     MPMs. PR 69901. barr.israel <barr.israel campus.technion.ac.il>

  *) core: Add support for %{m}t in ErrorLogFormat to log milli-second
     time resolution (in addition to existing %{u}t for micro-seconds).
     [LuboЕЎ Uhliarik <luhliari redhat.com>]

  *) mod_unixd: Drop test that effective user ID is zero in
     a chroot configuration.  PR 69767.
     [Bastien Roucaries <rouca debian.org>]

  *) mod_proxy_balancer: Include nonce in XML output.  PR 63074.
     Federico Mennite <federico.mennite lifeware.ch>

  *) mod_http2: update to version 2.0.42
     Fix excessive file description use for non-TLS frontend connections when
     sending files. Fixes <https://github.com/icing/mod_h2/issues/325>
     [Stefan Eissing]

  *) mod_http2: update to version 2.0.41
     Fix cookie header accounting against LimitRequestFields.
     [Stefan Eissing]

  *) mod_http2: update to version 2.0.40
     Fix error handling on upload requests when server runs out of file
     handles that left beam bucket callbacks in place, potentially using
     no longer valid references. Only applies on platforms with pipes
     and file descriptor limits not healthy for a network server.
     [Stefan Eissing]

  *) mod_dav_fs: Return a 404 for DELETE if deletion fails because the
     resource no longer exists.  PR 60746.  [Joe Orton]

  *) mod_proxy_hcheck: Fix healthcheck disabled due to child restart while
     updating. [Yann Ylavic]

Fixed vulnerabilities:

– SECURITY: CVE-2026-49975: mod_http2 denial of service – SECURITY: CVE-2026-48913: mod_http2 memory corruption when file – SECURITY: CVE-2026-44631: Heap Underflow in `ap_regname` via – SECURITY: CVE-2026-44186: Loop in `proxy_ftp_handler` in – SECURITY: CVE-2026-44185: Stack Buffer Over-Read in mod_ssl OCSP – SECURITY: CVE-2026-44119: escalation of privilege through – SECURITY: CVE-2026-43951: OOB Read in `merge_response_headers` – SECURITY: CVE-2026-42536: mod_xml2enc heap overflow – SECURITY: CVE-2026-42535: mod_dav_fs protected directory access – SECURITY: CVE-2026-34356: ProxyPassReverseCookieMap buffer – SECURITY: CVE-2026-34355: mod_proxy_html buffer overflow – SECURITY: CVE-2026-29170: mod_proxy_ftp XSS (cve.mitre.org) – SECURITY: CVE-2026-29167: mod_ldap per-dir use-after-free

HTTP/2 Bomb: why Apache httpd users should update mod_http2

A new HTTP/2 denial-of-service technique, called HTTP/2 Bomb, was publicly described by Calif on June 2, 2026. The attack abuses a combination of HTTP/2 header compression behavior and stalled response flow control to make a server allocate and hold a large amount of memory from a very small amount of network traffic. According to the research, the issue affects several major HTTP/2 implementations, including Apache httpd, nginx, Microsoft IIS, Envoy, and Cloudflare Pingora.

For Apache httpd, the vulnerable component is mod_http2. The researchers reported that Apache httpd could reach very high memory amplification under this attack pattern, because repeated HTTP/2 cookie header fragments were not counted correctly against request header limits. The public mitigation note says that the Apache-side fix is available in mod_http2 2.0.41 and later, while it was not yet part of an Apache httpd 2.4.x release at the time of publication.

The important practical detail is that you do not need to wait for a full Apache httpd package update if your distribution provides mod_http2 as a separate package. In the CodeIT repository, the update is already available separately from the main httpd package. The fix was included by the upstream mod_http2 authors in 2.0.41, and the CodeIT repository already provides the newer mod_http2 2.0.42 package. GitHub release notes for mod_http2 confirm that 2.0.41 fixed cookie header accounting against LimitRequestFields, while 2.0.42 is the latest following release.

What should administrators do?

If you use Apache httpd with HTTP/2 enabled on RHEL, AlmaLinux, Rocky Linux, Oracle Linux, CentOS, or compatible Enterprise Linux systems, update the mod_http2 package from the CodeIT repository:

dnf update mod_http2

or on older systems:

yum update mod_http2

Then reload or restart Apache httpd:

systemctl restart httpd

You can verify the installed package version with:

rpm -q mod_http2

The expected safe version in the CodeIT repository is 2.0.42 or newer.

Temporary mitigation

If you cannot update immediately, the safest temporary mitigation is to disable HTTP/2 and serve traffic over HTTP/1.1 only. For Apache httpd this can be done by removing h2 from the Protocols directive, for example:

Protocols http/1.1

However, disabling HTTP/2 is only a workaround. The recommended solution is to update mod_http2.

CodeIT repository status

CodeIT packages are built for Enterprise Linux systems that need modern web server components while keeping a stable operating system base. The HTTP/2 Bomb fix is already available in the CodeIT repository through mod_http2 2.0.42, independently from the main Apache httpd package. This allows administrators to patch the HTTP/2 module quickly without waiting for the next full httpd release cycle.

ngtcp2 1.23.0 rpms released

ngtcp2 1.23.0 rpms released and added to all supported platforms.

Major changes:

– examples: Use std::print for sim by @tatsuhiro-t
– examples: Rewrite util::split_str by @tatsuhiro-t
– examples: Refine formatter by @tatsuhiro-t in
– log: Faster logging by @tatsuhiro-t in
– examples: Introduce ProtoCodec to deduplicate examples by @tatsuhiro-t in
– Use ULL consistently by @tatsuhiro-t in
– examples: Stop surrounding constexpr variables with anonymous namespace by @tatsuhiro-t in
– examples: Use UZ for size_t by @tatsuhiro-t in
– examples: Use static constexpr for somewhat large structs by @tatsuhiro-t in
– examples: Use try_emplace for safe insertion of move only object by @tatsuhiro-t in
– Transit to closing state when sending application close by @tatsuhiro-t in
– Specify QualifierOrder by @tatsuhiro-t in
– examples: Prefer operator== to strcmp by @tatsuhiro-t in
– examples: Use std::filesystem::path for file path by @tatsuhiro-t in
– Provide generic ngtcp2_max and ngtcp2_min by @tatsuhiro-t in
– Examples fixup by @tatsuhiro-t in
– Rewrite fallback ntoh/hton functions for win32 by @tatsuhiro-t in
– Add ngtcp2_secure_clear by @tatsuhiro-t in
– Clear sensitive secrets and keys after use by @tatsuhiro-t in
– Add const version by @tatsuhiro-t in
– Fix grammatical errors by @tatsuhiro-t in
– crypto: Add tests for token validation by @tatsuhiro-t in
– examples: Add inline to NGTCP2_SERVER by @tatsuhiro-t in
– Add const and remove duplicated code by @tatsuhiro-t in
– Remove stale function declarations by @tatsuhiro-t in
– crypto: Deal with overflow when computing token timeout by @tatsuhiro-t in
– build(deps): bump actions/github-script from 8 to 9 by @dependabotbot in
– examples: Read ECH configuration PEM in the correct format by @tatsuhiro-t in
– Revert “fix: prevent max_idle_timeout multiplication overflow in transport params decode” by @tatsuhiro-t in
– Deal with large max_idle_timeout that could overflow in computation by @tatsuhiro-t in
– Fix qlog params set stack overflow by @tatsuhiro-t in
– Log enhancement by @tatsuhiro-t in
– Bump LibreSSL to v4.3.1 by @nak3 in
– examples: Enable X25519MLKEM768 for LibreSSL by @nak3 in
– pq: Adopt designated initializers by @tatsuhiro-t in
– examples: Fix parse_uint_internal by @tatsuhiro-t in
– examples: Send stateless reset if token is required and unreadable by @tatsuhiro-t in
– examples: Remove unneeded iostream include by @tatsuhiro-t in
– Add missing initialization for fields that are not used for CRYPTO by @tatsuhiro-t in
– rst: Rename TCP centric variable names by @tatsuhiro-t in
– bbr: Cap maximum drain rounds by @tatsuhiro-t in
– GHA: Avoid azure Ubuntu mirror by @tatsuhiro-t in
– Bump openssl to v4.0.0 by @tatsuhiro-t in
– Bump boringssl by @tatsuhiro-t in
– Bump picotls by @tatsuhiro-t in
– Bump wolfssl to v5.9.1-stable by @tatsuhiro-t in
– examples/sim: Deal with retry due to Initial packet loss by @tatsuhiro-t in
– examples/sim: Minor improvements by @tatsuhiro-t in
– Bump aws-lc to v1.73.0 by @tatsuhiro-t in
– Bump wolfssl to v5.9.1-stable in interop Dockerfile by @tatsuhiro-t in
– lib: Apply absolute upper bound against CRYPTO data offset by @tatsuhiro-t in
– Adopt sphinx version-add and version-deprecated directives by @tatsuhiro-t in
– ppe: Robust ngtcp2_ppe_padding_size by @tatsuhiro-t in
– ppe: Ensure packet protection sample with ngtcp2_ppe_dgram_padding_size by @tatsuhiro-t in
– cubic: Add missing is_cwnd_limited reset after exiting slow start by @tatsuhiro-t in
– Make bitwise operations robust by @tatsuhiro-t in
– Make all private hex constants unsigned by @tatsuhiro-t in
– lib: Ensure that unidirectional stream shutdown flags properly set by @tatsuhiro-t in
– More unsigned hex integer literals by @tatsuhiro-t in
– Fix strict aliasing issue in ngtcp2_get_varint by @tatsuhiro-t in
– Net cleanup by @tatsuhiro-t in
– Bump libressl to v4.3.2 by @tatsuhiro-t in
– Consider static const if possible by @tatsuhiro-t in
– @Alex-Tsvetanov made their first contribution

nghttp3 1.16.0 rpms released

nghttp3 1.16.0 rpms released and added to all supported platforms.

Major changes:

Create nghttp3_frame directly in ring buffer by @tatsuhiro-t in #456 Fix memory leak on the failure path by @tatsuhiro-t in #457 Uppercase numeric literal suffixes and hex digits in C/C++ sources by @Copilot in #458 More use of designated initializers by @tatsuhiro-t in #459 Upcase hex chars in string literal by @tatsuhiro-t in #460 GHA: Build with macos-26 by @tatsuhiro-t in #461 Call nghttp3_stream_close callback for all streams by @tatsuhiro-t in #462 Add const qualifier by @tatsuhiro-t in #463 Add const version by @tatsuhiro-t in #464 Bump actions/github-script from 8 to 9 by @dependabot[bot] in #493 Optimize huffman decode length estimation by @tatsuhiro-t in #494 Fix integer cast by @tatsuhiro-t in #495 Add nghttp3_conn_get_stream_user_data by @tatsuhiro-t in #496 GHA: Avoid azure Ubuntu mirror by @tatsuhiro-t in #497 examples: Fix literal operator syntax by @tatsuhiro-t in #498 Add generic nghttp3_max and nghttp3_min with C11 _Generic by @tatsuhiro-t in #499 lib: Port ngtcp2 changes in nghttp3_ksl by @tatsuhiro-t in #500 Add missing doc by @tatsuhiro-t in #502 doc: Adopt sphinx version-added and version-deprecated directives by @tatsuhiro-t in #503 Ignore content-length for the extended CONNECT by @tatsuhiro-t in #504 Cleanup bitwise negation operations by @tatsuhiro-t in #505 Make hex integer literals unsigned where appropriate by @tatsuhiro-t in #506 Make frame types and payload length unsigned by @tatsuhiro-t in #507 Rewrite win32 byte order conversion functions by @tatsuhiro-t in #508 conv: Use function like macro style for nghttp3_bswap64 by @tatsuhiro-t in #509 conv: Use macros for win32 hton*/ntoh* fallbacks by @tatsuhiro-t in #510 Remove legacy comments and macros regarding extensible priorities by @tatsuhiro-t in #511 conv: Remove nghttp3_put_varint variants by @tatsuhiro-t in #512 lib: Rewrite parse_uint by @tatsuhiro-t in #513 lib: Dedicated function to parse 3 digits HTTP status code by @tatsuhiro-t in #514 lib: Do not allow HTTP status code that contains leading zero by @tatsuhiro-t in #515 More static const by @tatsuhiro-t in #516

mod_http2 v2.0.40 rpms released

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

Changes:

  • Fix error handling on upload requests when server runs out of file handles that left beam bucket callbacks in place, potentially using no longer valid references. Only applies on platforms with pipes and file descriptor limits not healthy for a network server.

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

nginx 1.31.1 Mainline with HTTP/3 support added to EL7, EL8, EL9 and EL10 repositories. Brotli compression module from Google, http2, ngx_cache_purge and ngx_http_geoip2 modules are built in. OpenSSL is built dynamically using official OpenSSL 4.0.0 with QUIC support.

Major changes:

*) Security: a heap memory buffer overflow might occur in a worker process when using a configuration with overlapping captures in ngx_http_rewrite_module, potentially resulting in arbitrary code execution (CVE-2026-9256). Thanks to Mufeed VH of Winfunc Research.

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

nginx 1.30.2 Stable with HTTP/3 support added to EL7, EL8, EL9 and EL10 repositories. Brotli compression module from Google, http2, ngx_cache_purge and ngx_http_geoip2 modules are built in. OpenSSL is built dynamically using official OpenSSL 4.0.0 with QUIC support.

Major changes:

Fix for buffer overflow vulnerability in the ngx_http_rewrite_module (CVE-2026-9256).

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

nginx 1.31.0 Mainline with HTTP/3 support added to EL7, EL8, EL9 and EL10 repositories. Brotli compression module from Google, http2, ngx_cache_purge and ngx_http_geoip2 modules are built in. OpenSSL is built dynamically using official OpenSSL 4.0.0 with QUIC support.

Major changes:

    *) Security: when using the "proxy_set_body" directive, an attacker
       might inject data in the proxied request to an HTTP/2 backend
       (CVE-2026-42926).
       Thanks to Mufeed VH of Winfunc Research.

    *) Security: a heap memory buffer overflow might occur in a worker
       process while handling a specially crafted request by
       ngx_http_rewrite_module, potentially resulting in arbitrary code
       execution (CVE-2026-42945).
       Thanks to Leo Lin.

    *) Security: a heap memory buffer overread might occur in a worker
       process while handling a specially crafted response by
       ngx_http_scgi_module or ngx_http_uwsgi_module, allowing an attacker
       to cause a disclosure of worker process memory or segmentation fault
       in a worker process (CVE-2026-42946).
       Thanks to Leo Lin.

    *) Security: a heap memory buffer overread might occur in a worker
       process while handling a specially sent response with decoding from
       UTF-8 via the "charset_map" directive, allowing an attacker to cause
       a limited disclosure of worker proccess memory or segmentation fault
       in a worker process (CVE-2026-42934).
       Thanks to David Carlier.

    *) Security: when using HTTP/3, processing of connection migration might
       cause new QUIC streams to receive a new client address before
       validation, allowing an attacker to cause address spoofing
       (CVE-2026-40460).
       Thanks to Rodrigo Laneth.

    *) Security: use-after-free might occur during DNS server response
       processing if the "ssl_ocsp" directive was used, allowing an attacker
       to cause worker process memory corruption or segmentation fault in a
       worker process (CVE-2026-40701).
       Thanks to Leo Lin.

    *) Change: now nginx rejects HTTP/2 and HTTP/3 requests with the
       "Connection", "Proxy-Connection", "Keep-Alive", "Transfer-Encoding",
       "Upgrade" header lines, and "TE" with any value other than
       "trailers".

    *) Change: the ngx_http_dav_module now rejects a COPY or MOVE requests
       when the source and destination resources are the same or have a
       parent-child collection relationship.

    *) Change: the logging level of the "invalid alert" and "record layer
       failure" SSL errors, and of the "SSL alert number N" for any alert
       numbers has been lowered from "crit" to "info".

    *) Change: now the "sticky" module can be disabled with the
       --without-http_upstream_sticky_module configure option; the
       --without-http_upstream_sticky configure option is deprecated.

    *) Feature: the ngx_http_tunnel_module; support for authenticating to
       proxies in the "auth_basic", "satisfy", and "auth_delay" directives.

    *) Feature: the "least_time" directive inside the "upstream" block.

    *) Feature: the "proxy_ssl_alpn" directive in the stream module.

    *) Bugfix: connections with HTTP/2 backends might not be cached when
       using the "proxy_set_body" or "proxy_pass_request_body" directives.

    *) Bugfix: proxied HTTP/0.9, SCGI, or uWSGI responses might be
       transferred incorrectly if the first line was not fully read.