A vulnerability exists in NGINX Plus and NGINX Open Source when a map directive uses regex matching and a string expression references the maps regex capture variables before referencing the map output variable. Alternatively, the same result could be achieved by using a non-cacheable variable in a string expression under certain conditions. 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.
Impact: This vulnerability may allow remote attackers to cause a denial-of-service (DoS) on the NGINX system or to possibly trigger a code execution. There is no control plane exposure; this is a data plane issue only.
Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Nginx_gateway_fabric | F5 | 1.3.0 (including) | 1.6.2 (including) |
| Nginx_gateway_fabric | F5 | 2.0.0 (including) | 2.6.7 (excluding) |
| Nginx_ingress_controller | F5 | 3.5.0 (including) | 3.7.2 (including) |
| Nginx_ingress_controller | F5 | 5.0.0 (including) | 5.5.3 (excluding) |
| Nginx_ingress_controller | F5 | 2026-lts-r1 (including) | 2026-lts-r4 (excluding) |
| Nginx_ingress_controller | F5 | 4.0.0 (including) | 4.0.0 (including) |
| Nginx_ingress_controller | F5 | 4.0.1 (including) | 4.0.1 (including) |
| Nginx_plus | F5 | 37.0.0.1 (including) | 37.0.3.1 (excluding) |
| Nginx_plus | F5 | r33 (including) | r36 (excluding) |
| Nginx_plus | F5 | r36 (including) | r36 (including) |
| Nginx_plus | F5 | r36-p1 (including) | r36-p1 (including) |
| Nginx_plus | F5 | r36-p2 (including) | r36-p2 (including) |
| Nginx_plus | F5 | r36-p3 (including) | r36-p3 (including) |
| Nginx_plus | F5 | r36-p4 (including) | r36-p4 (including) |
| Nginx_plus | F5 | r36-p5 (including) | r36-p5 (including) |
| Nginx_plus | F5 | r36-p6 (including) | r36-p6 (including) |
| Waf | F5 | 4.11.0 (including) | 4.16.0 (including) |
| Waf | F5 | 5.2.0 (including) | 5.8.0 (including) |
| Waf | F5 | 5.9.0 (including) | 5.13.4 (excluding) |
| Red Hat Hardened Images | RedHat | nginx-main-1.30.4-2.hum1 | * |
| Nginx | Ubuntu | devel | * |
| Nginx | Ubuntu | jammy | * |
| Nginx | Ubuntu | noble | * |
| Nginx | Ubuntu | resolute | * |
| Nginx | Ubuntu | upstream | * |