Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Lifecycle Timeline
2DescriptionNVD
Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. In versions 8.2.6.4 and prior, POST /waf/<service>/<server_ip>/rule/<rule_id>/save accepts a config_file_name form field that is passed straight through to config_mod.master_slave_upload_and_restart(...) as the destination path. The validation chain (_replace_config_path_to_correct → check_is_conf) only requires the path to contain a hard-coded service substring (nginx/haproxy/apache2/httpd/keepalived) and the substring conf or cfg, and to not contain ... The encoded-slash substitution 92 → / is applied before the substring check, so the attacker can build any absolute path anywhere on the LB filesystem as long as it satisfies those substring constraints. The body of the WAF rule (config form field) is written verbatim to that path. By choosing a filename like 92etc92cron.d92nginx_cfg_evil (resolving to /etc/cron.d/nginx_cfg_evil), an attacker drops a cron entry on the load balancer with attacker-controlled content. Cron parses the file on its next scan, executing the embedded job as root - full RCE on every load balancer the caller's group manages. At time of publication, there are no publicly available patches.
Articles & Coverage 4
AnalysisAI
Remote code execution in Roxy-WI versions 8.2.6.4 and prior allows authenticated users to write attacker-controlled content to arbitrary absolute paths on managed load balancers via the WAF rule save endpoint. By dropping a malicious cron file (e.g., /etc/cron.d/nginx_cfg_evil), an attacker achieves root-level code execution on every load balancer in the caller's group. No public exploit identified at time of analysis, and no vendor-released patch is currently available, making this a high-priority issue for any exposed deployment.
Technical ContextAI
Roxy-WI is a web interface that centrally manages HAProxy, Nginx, Apache, and Keepalived load balancer servers (CPE: cpe:2.3:a:roxy-wi:roxy-wi). The vulnerability is a textbook CWE-20 Improper Input Validation flaw in the path-handling logic of the WAF rule save endpoint (POST /waf/<service>/<server_ip>/rule/<rule_id>/save). The validation helpers _replace_config_path_to_correct and check_is_conf only enforce that the destination path contains a hard-coded service substring (nginx, haproxy, apache2, httpd, or keepalived) plus 'conf' or 'cfg', and that it lacks '..' traversal sequences. Critically, the encoded-slash substitution (decoding '92' to '/') runs BEFORE the substring check, so any absolute path satisfying the trivial substring constraints can be reached. The config form field body is then written verbatim by config_mod.master_slave_upload_and_restart to the chosen destination on the managed load balancer.
RemediationAI
No vendor-released patch identified at time of analysis - the GHSA advisory (https://github.com/roxy-wi/roxy-wi/security/advisories/GHSA-85gm-773v-x7m4) states no public patches exist at publication, so monitor that advisory for an upstream fix and upgrade as soon as a patched release is announced. As compensating controls, restrict network access to the Roxy-WI web interface to a trusted admin VLAN or VPN to neutralize the AV:N exposure; tighten Roxy-WI group memberships and audit all low-privilege accounts since PR:L is the entry barrier; if WAF rule editing is not actively used, remove user permissions to the /waf/*/rule/*/save endpoint via a reverse-proxy ACL (trade-off: blocks legitimate WAF rule updates); on the managed load balancers, deploy file-integrity monitoring on /etc/cron.d, /etc/cron.hourly, and other cron drop-in directories to detect attacker-written files before the next cron scan executes them.
The ngx_http_parse_chunked function in http/ngx_http_parse.c in nginx 1.3.9 through 1.4.0 allows remote attackers to cau
A critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access
nginx 0.8.41 through 1.4.3 and 1.5.x before 1.5.7 allows remote attackers to bypass intended restrictions via an unescap
An issue was discovered on GL.iNet devices before version 4.5.0. Rated critical severity (CVSS 9.8), this vulnerability
Nginx versions since 0.5.6 up to and including 1.13.2 are vulnerable to integer overflow vulnerability in nginx range fi
The resolver in nginx before 1.8.1 and 1.9.x before 1.9.10 allows remote attackers to cause a denial of service (invalid
Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c
Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated critical severity (CVSS 9.8
The STARTTLS implementation in mail/ngx_mail_smtp_handler.c in the SMTP proxy in nginx 1.5.x and 1.6.x before 1.6.1 and
Heap buffer overflow in NGINX Plus and NGINX Open Source ngx_http_rewrite_module allows remote attackers to crash worker
Same weakness CWE-20 – Improper Input Validation
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-36038