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…

PriorityP261high8.1CVSS 3.1
AVNACHPRNUINSUCHIHAH
EPSS
2.70%
85.8th 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

44 ranges· showing 25
VendorProductVersion rangeFixed in
debiandebian_linux——
f5dos——
f5dos4.3.0 – 4.7.0—
f5nginx_gateway_fabric1.3.0 – 1.6.2—
f5nginx_gateway_fabric>= 2.0.0 < 2.6.22.6.2
f5nginx_ingress_controller3.5.0 – 3.7.2—
f5nginx_ingress_controller4.0.0 – 4.0.1—
f5nginx_ingress_controller>= 5.0.0 < 5.4.35.4.3
f5nginx_instance_manager>= 2.17.0 < 2.22.12.22.1
f5nginx_open_source——
f5nginx_open_source>= 0.1.17 < **
f5nginx_open_source0.1.17 – 0.9.7—
f5nginx_open_source>= 1.0.0 < 1.30.21.30.2
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——
f5nginx_plus——
f5nginx_plus——
f5nginx_plus——
f5nginx_plus——
f5nginx_plus——
f5nginx_plus——
f5nginx_plus——
f5nginx_plus——

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.