CVE-2026-9256: CVE-2026-9256: NGINX Plus and NGINX Open Source have a vulnerability in the ngx_http_rewrite_module modul…
f5 · nginx open source · NVD published 2026-05-22 · posted 2026-05-24 · last modified 2026-08-25
What it is
NGINX Plus and NGINX Open Source have a vulnerability in the ngx_http_rewrite_module module. This vulnerability exists when a rewrite directive uses a regex pattern with distinct, overlapping Perl-Compatible Regular Expression (PCRE) captures (for example, ^/((.*))$) and a replacement string that references multiple such captures (for example, $1$2) in a redirect or arguments context. An unauthenticated attacker along with conditions beyond their control can exploit this vulnerability by sending crafted HTTP requests. This may cause a heap buffer overflow in the NGINX worker process leading to a restart. Additionally, attackers can execute code on systems with Address Space Layout Randomization (ASLR) disabled or when the attacker can bypass ASLR. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
| Weakness | CWE-122 |
|---|---|
| CVSS vector | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X (source: [email protected]) |
| ATT&CK tactics | Initial Access → Execution |
Exploitation evidence
First exploit evidence seen: 2026-05-24 (earliest date across the sources below).
Exploited in the wild
No source on this site lists in-the-wild exploitation yet (CISA KEV, VulnCheck KEV).
Public exploit code
GitHub proof-of-concept repositories
4 public repositories from 4 accounts, first seen 2026-05-24. Most starred: 3nou9h/CVE-2026-9256-Poc (3 stars), view repository.
Verify before running: public PoCs can be malicious. Read the code and only run it in an isolated lab. A PoC means exploit code is public, not that this CVE is exploited in the wild.
Sources: nomi-sec/PoC-in-GitHub.
How to fix it
Fixed versions
- f5 nginx open source: upgrade to 1.30.2 or later (affected from 1.0.0)
- f5 nginx plus: upgrade to r36 or later (affected from r33)
- f5 nginx gateway fabric: upgrade to 2.6.2 or later (affected from 2.0.0)
- f5 nginx ingress controller: upgrade to 5.4.3 or later (affected from 5.0.0)
- f5 nginx instance manager: upgrade to 2.22.1 or later (affected from 2.17.0)
- redhat update infrastructure: upgrade to 5.2 or later (affected from 5.0)
Derived from the NVD CPE configuration (versionEndExcluding / versionEndIncluding). Always confirm with the vendor advisory.
Vendor advisories and patches
- https://my.f5.com/manage/s/article/K000161377 (Mitigation, Vendor Advisory)
MITRE ATT&CK mitigations for this chain
- M1048 Application Isolation and Sandboxing (for T1190, T1203) : Application isolation will limit what other processes and system features the exploited target can access.
- M1037 Filter Network Traffic (for T1190) : Restrict outbound network traffic from public-facing servers to prevent unauthorized connections from initiating communications with attacker-controlled infrastructure. While this may not prevent the initial exploitation, it limits the attacker's ability to verify and control the compromised server post-exploit, reduci
- M1030 Network Segmentation (for T1190) : Segment externally facing servers and services from the rest of the network with a DMZ or on separate hosting infrastructure.
- M1016 Vulnerability Scanning (for T1190) : Regularly scan externally facing systems for vulnerabilities and establish procedures to rapidly patch systems when critical vulnerabilities are discovered through scanning and through public disclosure.
- M1026 Privileged Account Management (for T1190) : Use least privilege for service accounts will limit what permissions the exploited process gets on the rest of the system.
- M1050 Exploit Protection (for T1190, T1203) : Web Application Firewalls may be used to limit exposure of applications to prevent exploit traffic from reaching the application.
- M1035 Limit Access to Resource Over Network (for T1190) : Ensure that all publicly exposed services are actually intended to be so, and restrict access to any that should only be available internally.
- M1051 Update Software (for T1190, T1203) : Update software regularly by employing patch management for externally exposed applications.
Detection Generic guidance
- Initial Access: Alert on unusual requests to the affected service (odd paths, oversized payloads, exploit strings) in WAF, reverse-proxy and application logs.
- Execution: Watch for the service process spawning shells or script interpreters (cmd.exe, powershell, sh, bash, python) via EDR process-tree rules.
Response checklist Generic guidance
- Inventory: find every instance of the affected product and version (include internet-facing and forgotten ones).
- Patch or mitigate per the vendor advisory; if you cannot patch, remove internet exposure or apply the vendor workaround.
- Assume compromise if the system was exposed before patching: hunt for the indicators in the advisory and review logs back to the disclosure date.
- Rotate credentials and secrets stored on or used by the affected system if compromise cannot be ruled out.
Sources
- NVD: CVE-2026-9256
- CVE.org record
- FIRST EPSS (2026-10-24)
- http://www.openwall.com/lists/oss-security/2026/05/22/14 (Mailing List)
- https://lists.debian.org/debian-lts-announce/2026/06/msg00023.html (Mailing List, Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2026:20351 (Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2026:28212 (Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2026:28921 (Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2026:28973 (Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2026:29151 (Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2026:29874 (Third Party Advisory)