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.

NGINX 1.30.1 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.1 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:

Fixes for HTTP/2 request injection vulnerability in the ngx_http_proxy_module (CVE-2026-42926), buffer overflow vulnerability in the ngx_http_rewrite_module (CVE-2026-42945), buffer overread vulnerabilities in the ngx_http_scgi_module and ngx_http_uwsgi_module (CVE-2026-42946), buffer overread vulnerability in the ngx_http_charset_module (CVE-2026-42934), address spoofing vulnerability in HTTP/3 (CVE-2026-40460), and use-after-free vulnerability in OCSP requests to resolver (CVE-2026-40701).

NGINX 1.30.0 Stable with ECH, Early Hints, HTTP/2 to backend, 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.0 stable version has been released, incorporating new features and bug fixes from the 1.29.x mainline branch — including Early Hints, HTTP/2 to backend and Encrypted ClientHello, sticky sessions support for upstreams, Multipath TCP support, the default proxy HTTP version set to HTTP/1.1 with keep-alive enabled, and more.

Nginx 1.30.0 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:

– 1.30.x stable branch.

Encrypted Client Hello Comes to NGINX

We are rebuilding all the packages against openssl 4.0.0 that was released today.

Our nghttp2 (as builds test tool and httpd prerequisite) pull request was accepted some days ago, so it is no more a blocker.

Nginx 1.28.x was a blocker, but team finally released nginx 1.30 with ECH support and now all the stack builds with openssl 4.

Small exception is httpd that requires some patches to fix openssl 4 build (as api changed), it will be published as openssl4.patch in src.rpm separately.

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

nginx 1.29.8 Mainline with HTTP/3 support featuring support for Multipath TCP and upgrading the default HTTP version to HTTP/1.1 with keep-alive enabled 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.6 with QUIC support.

nginx-1.29.8 mainline version has been released featuring max_headers configuration.

    *) Feature: the "max_headers" directive.
Thanks to Maxim Dounin.

*) Feature: OpenSSL 4.0 compatibility.

*) Feature: now the "include" directive inside the "geo" block supports wildcards.

*) Bugfix: in processing of HTTP 103 (Early Hints) responses from a proxied backend.

*) Bugfix: the $request_port and $is_request_port variables were not available in subrequests.

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

nginx 1.29.7 Mainline with HTTP/3 support featuring support for Multipath TCP and upgrading the default HTTP version to HTTP/1.1 with keep-alive enabled 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.1 with QUIC support.

nginx-1.29.7 mainline version has been released, introducing two significant updates: support for Multipath TCP and upgrading the default HTTP version to HTTP/1.1 with keep-alive enabled. This release also includes a security fix for the buffer overflow vulnerability in the ngx_http_dav_module (CVE-2026-27654), security fixes for the buffer overflow vulnerabilities in the ngx_http_mp4_module (CVE-2026-27784, CVE-2026-32647), security fixes for the mail session authentication vulnerabilities (CVE-2026-27651, CVE-2026-28753), and a security fix for the OCSP result bypass vulnerability in stream (CVE-2026-28755).

    *) Security: a buffer overflow might occur while handling a COPY or MOVE request in a location with "alias", allowing an attacker to modify the source or destination path outside of the document root (CVE-2026-27654).
Thanks to Calif.io in collaboration with Claude and Anthropic Research.

*) Security: processing of a specially crafted mp4 file by the ngx_http_mp4_module on 32-bit platforms might cause a worker process crash, or might have potential other impact (CVE-2026-27784).Thanks to Prabhav Srinath (sprabhav7).

*) Security: processing of a specially crafted mp4 file by the ngx_http_mp4_module might cause a worker process crash, or might have potential other impact (CVE-2026-32647). Thanks to Xint Code and Pavel Kohout (Aisle Research).

*) Security: a segmentation fault might occur in a worker process if the CRAM-MD5 or APOP authentication methods were used and authentication retry was enabled (CVE-2026-27651). Thanks to Arkadi Vainbrand.

*) Security: an attacker might use PTR DNS records to inject data in auth_http requests, as well as in the XCLIENT command in the backend SMTP connection (CVE-2026-28753). Thanks to Asim Viladi Oglu Manizada, Colin Warren, Xiao Liu (Yunnan University), Yuan Tan (UC Riverside), and Bird Liu (Lanzhou University).

*) Security: SSL handshake might succeed despite OCSP rejecting a client certificate in the stream module (CVE-2026-28755). Thanks to Mufeed VH of Winfunc Research.

*) Feature: the "multipath" parameter of the "listen" directive.

*) Feature: the "local" parameter of the "keepalive" directive in the "upstream" block.

*) Change: now the "keepalive" directive in the "upstream" block is enabled by default.

*) Change: now ngx_http_proxy_module supports keepalive by default; the default value for "proxy_http_version" is "1.1"; the "Connection" proxy header is not sent by default anymore.

*) Bugfix: an invalid HTTP/2 request might be sent after switching to the next upstream if buffered body was used in the ngx_http_grpc_module.

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

nginx 1.28.4 Stable 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.5 with QUIC support.

nginx-1.28.3 stable version release includes a security fix for the buffer overflow vulnerability in the ngx_http_dav_module (CVE-2026-27654), security fixes for the buffer overflow vulnerabilities in the ngx_http_mp4_module (CVE-2026-27784, CVE-2026-32647), security fixes for the mail session authentication vulnerabilities (CVE-2026-27651, CVE-2026-28753), and a security fix for the OCSP result bypass vulnerability in stream (CVE-2026-28755).

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

nginx 1.29.6 Mainline with HTTP/3 support featuring sticky sessions support for upstreams 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.1 with QUIC support.

Our OpenSSL 3.5.X builds break compatibility with nginx 1.28.1 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: session affinity support; the "sticky" directive in the "upstream" block of the "http" module; the "server" directive supports the "route" and "drain" parameters.

*) Change: now nginx limits the size and rate of QUIC stateless reset packets.

*) Bugfix: receiving a QUIC packet by a wrong worker process could cause the connection to terminate.

*) Bugfix: "[crit] cache file ... contains invalid header" messages might appear in logs when sending a cached HTTP/2 response.

*) Bugfix: proxying to scgi backends might not work when using chunked transfer encoding and the "scgi_request_buffering" directive. Thanks to Mufeed VH.

*) Bugfix: in the ngx_http_mp4_module.
Thanks to Andrew Lacambra.

*) Bugfix: nginx treated a comma as separator in the "Cookie" request header line when evaluating "$cookie_..." variables.

*) Bugfix: in IMAP command literal argument parsing.

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

nginx 1.29.5 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.1 with QUIC support.

Our OpenSSL 3.5.4 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.

*) Security: an attacker might inject plain text data in the                              response from an SSL backend (CVE-2026-1642).

*) Bugfix: use-after-free might occur after switching to the next gRPC or HTTP/2 backend.

*) Bugfix: an invalid HTTP/2 request might be sent after switching to the next upstream.

*) Bugfix: a response with multiple ranges might be larger than the
source response.

*) Bugfix: fixed setting HTTP_HOST when proxying to FastCGI, SCGI, and uwsgi backends.

*) Bugfix: fixed warning when compiling with MSVC 2022 x86.

*) Change: the logging level of the "ech_required" SSL error has been lowered from "crit" to "info".

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

nginx 1.28.2 Stable 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.4 with QUIC support.

    *) Security: an attacker might inject plain text data in the response
       from an SSL backend (CVE-2026-1642).

    *) Bugfix: use-after-free might occur after switching to the next gRPC
       or HTTP/2 backend.

    *) Bugfix: fixed warning when compiling with MSVC 2022 x86.