Skip to main content

Roxy-WI CVE-2026-45549

| EUVDEUVD-2026-36036 HIGH
Missing Authorization (CWE-862)
2026-06-10 GitHub_M
8.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
8.5 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
Low
Availability
High

Lifecycle Timeline

2
Analysis Generated
Jun 10, 2026 - 15:12 vuln.today
CVE Published
Jun 10, 2026 - 13:59 nvd
HIGH 8.5

DescriptionNVD

Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. In versions 8.2.6.4 and prior, agent_action (app/routes/smon/agent_routes.py:166-179) has decorators @bp.post('/agent/action/<action>') and @jwt_required() only - no role check, no group ownership check on the server_ip form field. Any authenticated user, including role 4 (guest), can start, stop, or restart the roxy-wi-smon-agent systemd unit on any server they can name. Roxy-WI executes the systemd action over its own SSH credentials (passwordless sudo), so the action runs as root on the target. At time of publication, there are no publicly available patches.

AnalysisAI

Privilege escalation in Roxy-WI versions 8.2.6.4 and prior allows any authenticated user - including the lowest-privilege 'guest' role 4 - to start, stop, or restart the roxy-wi-smon-agent systemd unit on arbitrary managed servers, with the action executing as root via Roxy-WI's passwordless sudo SSH credentials. The flaw stems from missing role and group-ownership checks on the agent_action endpoint, and no public exploit has been identified at time of analysis though the vulnerability is trivially reachable once an account exists.

Technical ContextAI

Roxy-WI is a Python/Flask-based web interface (cpe:2.3:a:roxy-wi:roxy-wi) for centrally managing HAProxy, Nginx, Apache, and Keepalived deployments. The defect lives in app/routes/smon/agent_routes.py at lines 166-179, where the agent_action handler is decorated only with @bp.post('/agent/action/<action>') and @jwt_required(), meaning a valid JWT is the sole gate. The root cause is CWE-862 (Missing Authorization): neither a role-based access check nor a group-ownership check on the user-supplied server_ip form field is performed before the request is dispatched. Because Roxy-WI fans out the resulting systemd command over its own SSH session - which is configured with passwordless sudo on every managed host - the action ultimately executes with full root privileges on whichever target IP the attacker names.

RemediationAI

No vendor-released patch identified at time of analysis - the advisory explicitly states no public patches exist as of publication, so administrators should monitor https://github.com/roxy-wi/roxy-wi/security/advisories/GHSA-c92j-h72m-ff4j for a fixed release beyond 8.2.6.4. As compensating controls, restrict Roxy-WI account creation strictly to trusted operators and audit existing role 4 (guest) accounts for removal or downgrade - the side effect is loss of read-only visibility for less-trusted staff. Place the Roxy-WI web interface behind a VPN or IP allowlist so the /agent/action/<action> endpoint cannot be reached from untrusted networks (side effect: remote operators must connect via VPN). Where feasible, tighten the SSH key Roxy-WI uses to manage targets by replacing passwordless sudo with a sudoers entry that whitelists only the specific systemctl commands actually required, limiting the blast radius if the endpoint is abused (side effect: any new Roxy-WI features needing additional sudo commands will fail until sudoers is updated). Finally, monitor systemd journal entries for unexpected roxy-wi-smon-agent start/stop/restart events as a detective control.

CVE-2022-31137 CRITICAL POC
9.8 Jul 08

Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated critical severity (CVSS 9.8

CVE-2022-31161 CRITICAL POC
9.8 Jul 15

Roxy-WI is a Web interface for managing HAProxy, Nginx and Keepalived servers. Rated critical severity (CVSS 9.8), this

CVE-2022-31126 CRITICAL POC
9.8 Jul 06

Roxy-wi is an open source web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated critical sever

CVE-2022-31125 CRITICAL POC
9.8 Jul 06

Roxy-wi is an open source web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated critical sever

CVE-2024-43804 HIGH POC
8.8 Aug 29

Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated high severity (CVSS 8.8), t

CVE-2026-22265 HIGH POC
7.5 Jan 15

Authenticated command injection in Roxy-WI versions prior to 8.2.8.2 enables attackers to execute arbitrary system comma

CVE-2023-25803 HIGH POC
7.5 Mar 13

Roxy-WI is a Web interface for managing Haproxy, Nginx, Apache, and Keepalived servers. Rated high severity (CVSS 7.5),

CVE-2023-25802 HIGH POC
7.5 Mar 13

Roxy-WI is a Web interface for managing Haproxy, Nginx, Apache, and Keepalived servers. Rated high severity (CVSS 7.5),

CVE-2023-29004 MEDIUM POC
6.5 Apr 17

hap-wi/roxy-wi is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. Rated medium severity (CVS

CVE-2026-45558 CRITICAL
9.9 Jun 10

Remote code execution in Roxy-WI versions 8.2.6.4 and prior allows authenticated low-privilege users (role ≤ 3) to injec

CVE-2026-45556 CRITICAL
9.9 Jun 10

Remote code execution in Roxy-WI versions 8.2.6.4 and prior allows authenticated users to write attacker-controlled cont

CVE-2026-45552 CRITICAL
9.9 Jun 10

Privilege escalation and cross-tenant compromise in Roxy-WI versions 8.2.6.4 and prior allows any authenticated user - i

Share

CVE-2026-45549 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy