Two Critical NGINX CVEs, And A Calmer Read
On June 17, 2026, F5 shipped an out-of-band advisory for NGINX covering two critical vulnerabilities, both scored CVSS 9.2 and both reachable by a remote, unauthenticated attacker. That sounds like a drop-everything moment, and patching is worth doing promptly. But the exploitable surface is narrower than the headline, and for most deployments the realistic worst case is a crash, not remote code execution. Here is the honest triage.
The Two Bugs
CVE-2026-42530 is a use-after-free in the ngx_http_v3_module, the HTTP/3 QUIC module. CVSS v4 is 9.2, and the CVSS v3.1 score is 8.1. A remote attacker can use a specially crafted HTTP/3 session to reopen a QPACK encoder stream and trigger the flaw, but only when NGINX is actually configured to serve HTTP/3. Affected: NGINX Open Source 1.31.0 and 1.31.1. Fixed in 1.31.2.
CVE-2026-42055 is a heap-based buffer overflow in the ngx_http_proxy_v2_module and ngx_http_grpc_module. CVSS v4 is 9.2. It is reachable only when NGINX proxies HTTP/2 upstream traffic. Affected: NGINX Open Source 1.13.10 through 1.31.1, plus NGINX Plus R33 through R36 and 37.0.0 to 37.0.1. Fixed in NGINX Open Source 1.31.2 and 1.30.3, and NGINX Plus 37.0.2.1 and R36 P6.
RCE Or DoS, Read The Fine Print
Both bugs cause the NGINX worker process to restart, which is a denial of service. Remote code execution is only on the table if Address Space Layout Randomization is disabled, or the attacker can bypass it. On a modern Linux box ASLR is on by default, so for the large majority of servers the realistic impact is a flapping worker, not arbitrary code execution. That is still worth patching, but it is not internet-to-root in a single packet.
Who Is Actually At Risk
For CVE-2026-42530, two things must both be true: you run NGINX 1.31.0 or 1.31.1, and you serve HTTP/3. HTTP/3 is still opt-in and far from universal in production, and most servers on the stable branches (1.24, 1.26, 1.28) are not on the 1.31 mainline at all. If you do not serve HTTP/3, this one does not touch you.
For CVE-2026-42055, the version range is wide, but exploitation needs three conditions at once: you proxy HTTP/2 upstream (using proxy_http_version 2 or grpc_pass), you have set ignore_invalid_headers off (the default is on), and your large_client_header_buffers size is larger than 2 MB (the default is far smaller). All three together is an unusual configuration. If your config does not match the full set, you are not exploitable, though you should still patch.
Check Your Exposure In Two Minutes
- Version. Run
nginx -v. If you are below 1.31.2, or below 1.30.3 on the 1.30 branch, you are in range for at least one of these. - HTTP/3. Search your config for
http3,quic, or alistenline withquic. Nothing there means CVE-2026-42530 does not apply to you. - The proxy combination. Search for
grpc_pass,proxy_http_version 2,ignore_invalid_headers off, and anylarge_client_header_buffersover 2 MB. You need the full combination to be exposed to CVE-2026-42055.
What To Do
- Patch to a fixed release: NGINX Open Source 1.31.2 or 1.30.3, or NGINX Plus 37.0.2.1 or R36 P6. NGINX Gateway Fabric users should move to 2.6.4, which also resolves two high-severity issues, CVE-2026-11311 and CVE-2026-50107.
- If you cannot patch right away and you match the preconditions, break them as a stopgap: drop the HTTP/3
quiclisteners for CVE-2026-42530, or restoreignore_invalid_headersto on, or lowerlarge_client_header_buffersbelow 2 MB for CVE-2026-42055. - Confirm ASLR is enabled so the worst case stays a crash rather than code execution. On Linux,
cat /proc/sys/kernel/randomize_va_spaceshould return 2. - Reload NGINX after patching and confirm the version with
nginx -v.
The Takeaway
Patch these, but keep the panic proportional. A 9.2 score does not mean every NGINX on the internet is one request from root. These two need specific versions and, in one case, an uncommon configuration, and for most deployments the realistic impact is a worker crash rather than code execution. Triage against your actual version and config, fix on a sensible schedule, and do not let the score alone decide how loudly you react.
Triaging CVEs against real exposure instead of the raw score, and patching a fleet without downtime, is exactly what our security and compliance and server management work covers. For the same calm-triage approach applied to the earlier NGINX flaw, see our note on NGINX Rift.
Sources
The two CVEs, their CVSS v4 9.2 scores, the affected and fixed version ranges, and the exploit preconditions are from F5's out-of-band NGINX advisory of June 17, 2026, the NGINX security advisories page, and the NVD entries for CVE-2026-42530 (CWE-416, CVSS v4 9.2 and CVSS v3.1 8.1) and CVE-2026-42055. Both issues cause a worker-process denial of service by default, with remote code execution contingent on ASLR being disabled or bypassed.
Talk to the engineer who will own your stack.
No account managers, no offshore handoff. Senior DevOps, direct. Tell us what you are dealing with and you get a straight answer.
Related News
The wp2shell WordPress RCE Is Real, but Three Conditions Decide Whether Your Site Is Actually Exposed
wp2shell (CVE-2026-63030) chains a REST API batch route confusion with the author__not_in SQL injection (CVE-2026-60137) into a pre-auth RCE on WordPress core, fixed July 17 in 6.9.5, 7.0.2 and 6.8.6. The headline is true: an anonymous request can run code on a default install. But three conditions decide real exposure, the version, whether a persistent object cache is in use, and whether auto-updates already patched you. Here is what NVD and WordPress actually say, the CVSS scores that disagree, and a two-minute check for your own sites.
Securitynginx Patches Three CVEs, One a 9.2 Critical Bug That Sat Hidden in the Code Since 2011
nginx patched three CVEs on July 15, 2026: a 9.2-rated critical heap buffer overflow in map regex matching (CVE-2026-42533) present since 2011, an uninitialized-memory bug that unnamed regex captures trigger through either the slice directive or ordinary background cache updates (CVE-2026-60005), and a use-after-free in the SSI filter (CVE-2026-56434) present since 2009. Fixed in 1.30.4 stable and 1.31.3 mainline. With the config patterns to audit for, five read-only audit commands, and the detail most coverage gets wrong about the second bug.
SecurityA 16-Year-Old KVM Bug Called Januscape Lets a Guest VM Break Out to the Host on Intel and AMD
Januscape (CVE-2026-53359) is a 16-year-old use-after-free in the Linux KVM shadow MMU on both Intel and AMD, rated a guest-to-host escape by Canonical. The public proof of concept crashes the host from inside a guest, while full host takeover is claimed but not published. Upstream fixed it on July 4, but distro kernels are still pending. Here is who is exposed, the nested-virtualization mitigation, and what to do now.