NGINX fixes five flaws, including a TLS client-cert bypass
NGINX 1.30.6 and 1.31.7 fix five CVEs: three heap bugs that can crash workers, an HTTP/3 request-smuggling bug, and a TLS session-ticket forgery that can skip client-cert checks.
NGINX shipped 1.30.6 (stable) and 1.31.7 (mainline) on October 14, fixing five vulnerabilities. NGINX rates all five medium; F5, which maintains the commercial builds, scores the three memory bugs 9.2. The primary source is the NGINX security advisories page, with per-CVE detail in F5's knowledge base. Anything on mainline ≤1.31.6 or stable ≤1.30.5 is affected by all five.
Affected configurations
Each bug needs a specific config, so triage by what you actually run:
- CVE-2026-15176 — heap overflow when
aliaswith a URI-changingrewritemeets$request_filename. Present since 0.1.29. - CVE-2026-93479 — heap overflow when regex
mapcaptures feedrootorlog_format. Introduced by the July patch (CVE-2026-42533); affects 1.30.0–1.30.5 and 1.31.2–1.31.6. - CVE-2026-97205 — use-after-free with
aioon SSI pages usinginclude virtual. - CVE-2026-95101 — HTTP/3 with
proxy_request_buffering on(the default) injects extra bytes into the proxied request body, which can exceedclient_max_body_size. - CVE-2026-97629 — TLS session-ticket forgery (F5 score 8.3). Automatic ticket-key rotation left a third key slot uninitialized; a ticket naming that slot can be decrypted with uninitialized memory, forging a session that may bypass client-certificate verification. Affects 1.23.2–1.31.6.
Exploitation status
None are in CISA's KEV catalog as of October 15, and neither NGINX nor F5 reports attacks. F5 describes the TLS forgery as "non-deterministic" and "beyond the attacker's control," which lowers but does not eliminate the risk. The three heap bugs are described as crashes with code execution only "possible."
Action checklist
- Upgrade to 1.31.7 (mainline) or 1.30.6 (stable). Older branches like 1.28 are not patched upstream; distro packages are fixed only if the maintainer backported.
- If you can't patch the TLS bug now, remove the shared
ssl_session_cachedirective or load keys explicitly withssl_session_ticket_key.ssl_session_tickets offis unaffected. - For the HTTP/3 smuggling bug, set
proxy_request_buffering offas a stopgap. - Check your running version with
nginx -vand confirm the config triggers above against your deployed sites.
Context
This is the second NGINX memory-safety batch in three months — the July release fixed CVE-2026-42533 (F5 9.2), and VulnCheck recorded exploitation of the May rewrite-module overflow (CVE-2026-42945) within days of disclosure. The map-capture bug here was introduced by that July fix, a reminder that rushed patches to the request-processing path carry their own regression risk. The TLS forgery echoes CVE-2025-23419, a session-reuse flaw fixed in February 2025.