cbcvebase.
CVE-2026-9256
published 2026-05-22

CVE-2026-9256: 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…

PriorityP263high8.1CVSS 3.1
AVNACHPRNUINSUCHIHAH
EPSS
4.26%
90.0th percentile
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.

Affected

16 ranges
VendorProductVersion rangeFixed in
f5nginx_open_source
f5nginx_open_source>= 0.1.17 < **
f5nginx_open_source0.1.17 – 0.9.7
f5nginx_open_source1.0.0 – 1.30.1
f5nginx_open_source>= 1.30.0 < 1.30.21.30.2
f5nginx_open_source>= 1.31.0 < 1.31.11.31.1
f5nginx_plus
f5nginx_plus>= 37.0 < 37.0.1.137.0.1.1
f5nginx_plus>= 37.0.0 < 37.0.1.137.0.1.1
f5nginx_plus>= R32 < R32 P7R32 P7
f5nginx_plus>= R36 < R36 P5R36 P5
f5nginx_plusr32 – r36
insights-proxyinsights-proxy-container-rhel9
nginx_1.24nginx
nginx_1.26nginx
ubuntunginx

Detection & IOCsextracted from sources · hover to see the quote

  • Vulnerability is only exploitable when a rewrite directive uses a regex pattern with distinct, overlapping PCRE captures (e.g., ^/((.*))$) and a replacement string referencing multiple such captures (e.g., $1$2) in a redirect or arguments context — audit nginx configs for this pattern
  • Attack vector is crafted HTTP requests sent by an unauthenticated remote attacker; monitor NGINX worker process for unexpected restarts as a sign of exploitation attempts (heap buffer overflow causes worker restart)
  • Code execution is achievable on systems with ASLR disabled or where ASLR can be bypassed — flag NGINX deployments running without ASLR as higher-risk targets
  • Scan nginx.conf and included config files for rewrite directives combining unnamed overlapping PCRE capture groups with multi-capture replacement strings (e.g., rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2) as the vulnerable configuration pattern
  • ·Mitigation (without patching): replace unnamed PCRE capture groups ($1, $2, …) with named captures in all rewrite directives to eliminate the vulnerable code path
  • ·On Red Hat systems, default OS mitigations (SELinux, ASLR, NX stack) significantly raise the bar for code execution, reducing practical impact even on vulnerable configurations

CVSS provenance

nvdv3.18.1HIGHCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv4.09.2CRITICALCVSS: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
cvelistv5v3.18.1HIGHCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
vendor_redhat8.1HIGH
vendor_ubuntu6.9MEDIUM
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.