What F5's emergency NGINX patches mean for your servers
F5 patched three critical NGINX flaws out of band. Whether you are exposed depends on a few config choices. Here is how to check yours.
F5 has released emergency patches for several NGINX flaws. Three of them are rated critical and can let an unauthenticated attacker crash NGINX or, in some cases, run code on the server, according to BleepingComputer. The detail that matters most is that BleepingComputer says the flaws are exploitable only on systems with non-default configurations. F5’s suggested workarounds name the exact features involved. So whether you are exposed depends less on running NGINX at all and more on which directives appear in your config files.
The background you need
NGINX and F5. NGINX is one of the most widely used web servers and reverse proxies. It sits in front of many applications, terminating TLS, serving static files, and routing traffic. F5 owns NGINX and sells commercial versions alongside the free open-source one. According to BleepingComputer, the patches cover NGINX Plus, NGINX Open Source, NGINX Ingress Controller (used to route traffic into Kubernetes clusters), NGINX Gateway Fabric, and NGINX Instance Manager.
Out-of-band. Vendors usually ship security fixes on a fixed schedule. An out-of-band patch arrives outside that schedule, which normally means the vendor did not want to wait.
CVE. A Common Vulnerabilities and Exposures ID is a catalog number for one specific flaw. It lets you search advisories and scanner output for the same issue.
Worker process. NGINX runs a master process that manages several worker processes, and the workers handle the actual requests. If a worker crashes, the master starts a new one. That is why BleepingComputer describes the result of a successful attack as crashes or a restart. One crash is a blip. Repeated crashes on demand amount to a denial-of-service (DoS) attack.
Heap buffer overflow and use-after-free. These are two classic memory bugs in software written in C, which NGINX is. A heap buffer overflow writes data past the end of a block of memory. A use-after-free keeps using memory after the program has handed it back. Think of a hotel guest who checks out but keeps their key card. Once the room goes to someone else, the old key still opens it. The analogy breaks down at one point: an attacker can often choose what the next occupant of that memory looks like, and that is how a crash can become code execution.
ASLR. Address Space Layout Randomization places a program’s code and data at unpredictable memory addresses each time it runs. Memory-corruption exploits usually need to know where things are, so ASLR makes them much harder. BleepingComputer, quoting F5’s framing, says attackers may also be able to “execute code on systems with Address Space Layout Randomization (ASLR) disabled or when the attacker can bypass ASLR.” ASLR is on by default in modern Linux distributions. Still, it is a hurdle, not a guarantee, and attackers sometimes pair one bug with a second bug that leaks memory addresses.
The features named in the mitigations:
- ngx_http_v3_module provides HTTP/3, the newest version of HTTP, which runs over the QUIC transport instead of TCP. You must enable it explicitly in NGINX.
- The alias directive maps a URL path to a different directory on disk inside a
locationblock. $request_filename is a variable holding the file path NGINX resolved for a request. - AIO (asynchronous file I/O) lets NGINX read files without blocking a worker. It is turned on with the
aiodirective. - SSI (Server Side Includes) lets NGINX assemble pages from fragments. It is turned on with
ssi on. - The map directive sets a variable based on another value, often using regular expressions. A capture is the piece of text a regex grabs in parentheses. Unnamed captures are referenced by number, such as
$1. Named captures are referenced by a label you choose.
What actually changed
According to BleepingComputer, these issues are new:
- CVE-2026-15176 and CVE-2026-97205, both in ngx_http_v3_module.
- CVE-2026-93479, in the map directive.
Remote attackers without any privileges can trigger them, BleepingComputer reports. The baseline outcome is a worker crash. Code execution depends on ASLR being off or bypassed.
F5 also published workarounds for anyone who cannot patch right away, as reported by BleepingComputer:
- CVE-2026-15176: avoid using the alias directive in a location block, and avoid the $request_filename variable.
- CVE-2026-97205: disable AIO or SSI.
- CVE-2026-93479: use named captures instead of unnamed ones, and limit their use to the block containing the regex match.
Some things are not new. NGINX already ran as a master plus workers, so a crash already meant a restart rather than a full outage. ASLR already stood between memory bugs and code execution. And F5 products were already a frequent target. BleepingComputer notes that since November 2021, CISA has listed eight F5 vulnerabilities as actively exploited, and four of those were also used in ransomware attacks. The report also recalls that in October 2025 F5 disclosed a breach by state-sponsored actors, who it said stole source code and information about undisclosed BIG-IP vulnerabilities. BIG-IP is a separate F5 product line, and the report does not link that breach to these NGINX flaws.
What it means for developers and IT staff
The non-default-configuration detail is what turns a vague headline into a task you can finish. Most NGINX advisories leave you guessing whether your setup is reachable. This one effectively gives you a list of features to search for.
Here is a practical order of work:
- Inventory every NGINX instance. Include the ones you do not think of as NGINX: Kubernetes ingress controllers, Gateway Fabric deployments, container images, and appliances. All of the product lines listed above received patches, according to BleepingComputer.
- Dump the effective config. Running
nginx -Tprints the full configuration with all includes resolved. Search the output foralias,$request_filename,aio,ssi on,mapblocks that contain regexes with numbered captures, andquicorhttp3on listen lines. - Rank by exposure. Put internet-facing servers that use any of those features first. Then add servers where ASLR may be disabled, such as unusual builds, some embedded systems, or debugging setups.
- Patch. BleepingComputer does not list fixed version numbers. Get them from F5’s own advisories for each product you run.
- Apply workarounds only as a stopgap. Disabling SSI or AIO, or rewriting alias blocks, can change how your site behaves. Test before you push to production.
If your search finds none of those features, your immediate risk is lower based on what has been reported. Patching is still the safe default, because configs drift over time and the report does not describe every edge case.
Keep watching for two things: F5 or CISA marking any of these CVEs as exploited in the wild, and public proof-of-concept code. Either one shortens your patch window considerably.
What we don’t know yet
- Fixed versions. The report names the affected products but not the patched releases.
- The full list. BleepingComputer says F5 fixed multiple flaws, including the three critical ones. Elsewhere it refers to these two vulnerabilities. The report does not detail the non-critical issues, or explain the mismatch in counts.
- How the HTTP/3 bugs connect to the workarounds. Both HTTP/3 CVEs come with mitigations involving file handling (alias, $request_filename, AIO, SSI). The report does not explain whether HTTP/3 must be enabled for you to be exposed, or how the module and those features interact.
- Exploitation status. F5 has not flagged these as exploited in the wild, according to BleepingComputer. That can change.
- Who found them, and whether proof-of-concept code exists. The report does not say.
FAQ
I run a plain NGINX reverse proxy with default settings. Am I affected?
Can these flaws let someone take over my server?
Are attackers already using these bugs?
Related reading
2026-10-16
What the Collabora CODE flaw means for Nextcloud
Attackers hit Nextcloud servers for a month before CVE-2026-110447 existed. Here is how to check if you run the vulnerable app and what to do.
2026-10-19
What Nvidia's local Bolt AI models mean for your work
Nvidia's new open models aim to run AI agents on your own laptop and your company's servers. Here is what that changes for non-engineers.
2026-10-19
What Microsoft's Guardian Agents mean for your AI agents
Microsoft now treats AI agents like insider threats, and Defender can spot Claude Code and Codex. Here is what that means for your team.
2026-10-19
What final structured concurrency in JDK 28 means
Java's StructuredTaskScope leaves preview in JDK 28 with no API changes from JDK 27. Here is what that means for code you build and deploy.
2026-10-19
What Let's Encrypt's two new validation points mean
Let's Encrypt will check your domain from six remote networks instead of four. Here's why the rules demand it and who should test before November 10.
Get the best tools, weekly
One email every Friday. No spam, unsubscribe anytime.