On October 14, 2026, nginx shipped 1.30.6 (stable) and 1.31.7 (mainline) with five security fixes.
F5 published matching advisories and CVE records the same day. The bugs live in the worker process, so the
control plane is not exposed. None of them hits a default build with a default config: each needs a
particular feature switched on, or switched on in a particular way.
Who said what about severity
nginx.org rates all five “medium”. F5’s CVE records give three of them CVSS 3.1 8.1 (CVSS 4.0 9.2):
the alias/rewrite overflow, the variable-evaluation overflow and the AIO/SSI use-after-free. The high
scores come from the possibility of code execution. F5 says that only works where ASLR is disabled or can
be bypassed; otherwise the result is a crashed and restarted worker. The attack complexity is rated high
because the attacker can’t choose the server’s config. Some news summaries call these “critical” because of
the 9.2 CVSS 4.0 score; the vendor’s own label is medium.
Which configs are in scope
- CVE-2026-15176:
alias in a location, plus rewrite, plus $request_filename used in set, return
or a log format. This one goes back to 0.1.29, so it reaches very old installs too.
- CVE-2026-93479: a
map with regex captures where the capture variables are used in root or a log
format. Introduced in 1.30.0 / 1.31.2. F5 suggests named captures as a workaround.
- CVE-2026-95101: HTTP/3 only. The HTTP/3 module isn’t built by default from source and needs a
listen ... quic socket, but it ships in many packaged builds.
- CVE-2026-97629:
ssl_session_cache shared:... without an ssl_session_ticket_key file, which is a common
setup (tickets are on by default). The forgery doesn’t always work, but it can get past client certificate
checks, which matters if you use mTLS for auth.
- CVE-2026-97205:
aio (off by default) together with SSI pages that use include virtual. nginx.org
lists versions back to 0.8.11 as vulnerable; F5’s CVE record lists only 1.30.0 and later. We go with
nginx.org for the open-source ranges.
The earlier HTTP/3 heap overflow (CVE-2026-90439, fixed in 1.30.5 / 1.31.6 on September 15) is a separate
release. If you skipped that one, this upgrade covers it too.
NGINX Plus and other F5 products
F5 lists NGINX Plus R33 through R36 and 37.x as affected, with hotfixes for the 37.0 and 37.1 lines. The
hotfix numbers in the CVE records don’t match across all five CVEs, so take your Plus target version from
the F5 K-articles rather than from this page.
The Canadian Cyber Centre summary of F5’s October 14 batch also lists NGINX Ingress Controller before 5.7.0,
NGINX Gateway Fabric before 2.8.0, NGINX Instance Manager before 2.24.0 and F5 WAF / DoS for NGINX. That
batch also includes two njs fixes released the same day (njs 1.0.2), so it doesn’t say which of these
products is hit by which of the five nginx CVEs. If you run nginx inside Kubernetes through one of these
products, upgrade the product, not just the image tag you think it uses.
Level
We grade it L3. nginx sits in front of a huge share of the web, and three of the bugs are memory
corruption a remote attacker can reach. It isn’t higher because every bug needs a non-default or specific
config, the vendor rates them medium, code execution depends on beating ASLR, and there is no public PoC and
no reported exploitation.