Skip to main content
CVE-2026-42945 · NGINX Rift

NGINX security patch (Rift and 2026 CVEs)

In 2026 NGINX has shipped several batches of fixes: NGINX Rift (CVE-2026-42945) in May, CVE-2026-42533, with a public proof of concept, and five CVEs in October, including HTTP/3 request smuggling and a TLS session forgery that bypasses client certificate verification. To have all of them you need 1.31.7 or later (mainline) or 1.30.6 or later (stable).

Do you have this vulnerability? We update NGINX on your servers and containers, review the configuration that makes some of these flaws exploitable, and check that everything is still served the same way.

What happened

Three batches of NGINX flaws so far in 2026

If you updated in May because of Rift, you are missing the later fixes. And if you use your distribution’s NGINX, the version number may look old even when the package carries the patches: the vendor’s security advisory is what counts.

NGINX Rift (CVE-2026-42945) was found in May by DepthFirst’s AI platform in about six hours, and the bug dated back to version 0.6.27, from 2008. It affects NGINX Open Source 0.6.27 through 1.30.0 and is fixed in 1.31.0 and 1.30.1. nginx.org rates it medium; Cloud Security Alliance and Help Net Security treat it as critical (9.2). According to Help Net Security, VulnCheck saw exploitation attempts from 16 May.

Then came CVE-2026-42533, fixed in 1.31.3 and 1.30.4, for which DepthFirst published a full-chain proof of concept. In October, another batch of five: CVE-2026-15176, CVE-2026-93479, CVE-2026-95101 (HTTP/3 request smuggling), CVE-2026-97629 (TLS session forgery that bypasses client certificate verification) and CVE-2026-97205, all fixed in 1.31.7 and 1.30.6.

Sources: nginx.org security advisories · Cloud Security Alliance · Help Net Security

Are you affected?

Fixed NGINX versions

Compare your version with this table. It applies to NGINX Open Source from nginx.org or compiled yourself; for distribution packages, check the vendor’s advisory for each CVE.

If you run Update to What you are missing
1.31.3 – 1.31.6 1.31.7+ The October batch
1.31.0 – 1.31.2 1.31.7+ CVE-2026-42533 and the October batch
1.30.4 – 1.30.5 1.30.6+ The October batch
1.30.1 – 1.30.3 1.30.6+ CVE-2026-42533 and the October batch
0.6.27 – 1.30.0 1.30.6+ or 1.31.7+ Rift and everything after it

Check this

  • nginx -v reports a version older than 1.31.7 (mainline) or 1.30.6 (stable).
  • You have HTTP/3 enabled: the CVE-2026-95101 request smuggling applies to you.
  • You require client certificates (ssl_verify_client): CVE-2026-97629 lets an attacker bypass that check.
  • Your configuration uses $request_filename or alias (CVE-2026-15176), or regular expressions with unnamed captures (CVE-2026-93479).
  • NGINX runs inside Docker images or as a Kubernetes ingress: each image is updated separately.
In the meantime

Configuration changes while you update

nginx.org suggests configuration adjustments for some of the October flaws. They reduce exposure to those specific CVEs; for Rift and the rest, the fix is the update.

  1. 01 CVE-2026-15176: avoid $request_filename and alias in exposed location blocks.
  2. 02 CVE-2026-93479: use named captures, such as (?<path>.+), instead of unnamed ones ($1, $2).
  3. 03 Check in each server block whether you actually use HTTP/3 and client certificates: those are the features hit by CVE-2026-95101 and CVE-2026-97629.
  4. 04 Run nginx -t before reloading. A syntax error in production takes down more services than the flaw you are fixing.
How we do it

Seven steps, in this order

We follow the same procedure on every server: first find out which version runs where, then fix it, and finally check that nobody got in before the patch.

Inventory
version per server
Mitigation
temporary
Update
1.31.7+ · 1.30.6+
Verification
in production
Indicators
logs · files
Secrets
if needed
Monitoring
new advisories
01

Version inventory

We list every NGINX: servers, load balancers, containers and ingress controllers, with their version, compiled modules (nginx -V) and where the package comes from: nginx.org, the distribution or a Docker image.

02

Immediate mitigation

We look for $request_filename, alias and unnamed captures in the configuration and change them where possible without altering what the site serves.

03

Update

We move to 1.31.7+ or 1.30.6+, or to your distribution’s patched package, and rebuild the images that include NGINX.

04

Verification

We run nginx -t, reload, and check redirects, certificates, HTTP/2 and HTTP/3 and the paths that serve static files.

05

Review for indicators of compromise

We go through access and error logs for unusual requests, back to May if the server was on a version affected by Rift.

06

Secret rotation, if needed

If there are signs of intrusion, we renew TLS certificates and private keys and the credentials that pass through the proxy.

07

Monitoring new advisories

We record each NGINX’s version and origin, so the next batch of nginx.org advisories starts from that inventory.

Before and after

What a Rift-only patch leaves out

Updating only for Rift With the procedure
It went to 1.30.1 in May and stayed there
1.30.6+ or 1.31.7+ on every server, with the version list
The Kubernetes ingress still runs the old image
Images and ingress controllers updated separately
The configuration still uses alias on public paths
Configuration reviewed for the CVE-2026-15176 and CVE-2026-93479 patterns
Nobody has checked the logs since 16 May
Logs reviewed back to when the server became exposed

Running several NGINX instances and not sure which version each one has?

Free consultation →
FAQ

FAQ about the 2026 NGINX CVEs

What is NGINX Rift?
It is CVE-2026-42945, a flaw in NGINX Open Source present from version 0.6.27 (2008) to 1.30.0. DepthFirst’s AI platform found it in May 2026 and it is fixed in 1.31.0 and 1.30.1. According to Help Net Security, VulnCheck observed exploitation attempts from 16 May.
I already updated for Rift. Am I covered?
Not fully. CVE-2026-42533 (fixed in 1.31.3 and 1.30.4) and five October CVEs (fixed in 1.31.7 and 1.30.6) came later. To have them all you need 1.31.7 or later on mainline, or 1.30.6 or later on stable.
My distribution ships an older version. Am I affected?
It depends on the package. Distributions apply patches on top of old versions without changing the main number, so you need to check their security advisory for each CVE. If your NGINX comes from nginx.org or you compile it yourself, the number does tell you.
Can I protect myself by changing only the configuration?
Only partly, and only for some flaws: avoiding $request_filename and alias reduces exposure to CVE-2026-15176, and using named captures reduces exposure to CVE-2026-93479. For Rift and the other CVEs, the fix is updating.
Let’s start

Tell us where your NGINX runs

We start with the inventory: version, package origin and modules of each NGINX, and which configuration needs changing before the update.

NGINX Security Patch: Rift and 2026 CVEs

Tell us your challenge. We'll propose a solution.

No commitment. Within 24 hours, you'll receive a proposal with scope, timeline and budget. No fine print.

Book a free call →