pickuma.
Security

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.

6 min read

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 location block. $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 aio directive.
  • 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:

  1. 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.
  2. Dump the effective config. Running nginx -T prints the full configuration with all includes resolved. Search the output for alias, $request_filename, aio, ssi on, map blocks that contain regexes with numbered captures, and quic or http3 on listen lines.
  3. 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.
  4. Patch. BleepingComputer does not list fixed version numbers. Get them from F5’s own advisories for each product you run.
  5. 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?
According to BleepingComputer, exploitation requires non-default configurations. If your config does not use alias, $request_filename, AIO, SSI, or regex map blocks with unnamed captures, you are likely at lower risk. Confirm this with nginx -T rather than from memory, and patch anyway.
Can these flaws let someone take over my server?
The reported baseline is a worker process crash, which enables denial-of-service. BleepingComputer, citing F5, says code execution may be possible if ASLR is disabled or the attacker can bypass it. ASLR is on by default on modern Linux, but that makes code execution harder, not impossible.
Are attackers already using these bugs?
F5 has not flagged them as exploited in the wild, according to BleepingComputer. The same report notes that CISA has listed eight F5 vulnerabilities as actively exploited since November 2021, so a fast patch is prudent.

Related reading

See all Security articles →

Get the best tools, weekly

One email every Friday. No spam, unsubscribe anytime.