Skip to main content

Roxy-WI CVE-2026-45550

| EUVDEUVD-2026-36037 CRITICAL
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-06-10 GitHub_M
9.1
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain low-privileged Roxy-WI account
  2. Delivery
    Enumerate sequential smon_id values
  3. Exploit
    Send crafted PUT /smon/check with victim's smon_id
  4. Install
    Bypass check_user_group_for_flask group check
  5. C2
    Trigger update_smon* SQL UPDATE without user_group filter
  6. Execute
    Silently rewrite victim tenant's monitoring check
  7. Impact
    Mask outages or trigger false alerts in victim tenant

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

The attacker must hold valid credentials for any Roxy-WI account in any user group on the target instance (CVSS PR:L), and the Roxy-WI web UI must be reachable from the attacker's network position (AV:N). No user interaction by the victim is required (UI:N), and exploitation works against default Roxy-WI 8.2.6.4 and prior configurations - there is no feature flag or non-default setting that must be enabled, because the vulnerable PUT /smon/check route and the missing user_group filter on update_smon* are present in the standard codebase. The primary limiting factor is the authentication requirement (PR:L) plus knowledge or enumeration of valid smon_id integers, which are sequential and therefore not a meaningful barrier.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:L, score 9.1) reflects network-reachable, low-complexity exploitation by any low-privileged authenticated user, with scope change (cross-tenant impact) and high integrity damage - consistent with multi-tenant IDOR. EPSS and CISA KEV data were not provided in the input, and no public exploit is identified at time of analysis, so probabilistic exploitation signals are unknown. The real-world priority is nonetheless elevated for any multi-tenant Roxy-WI deployment because (a) prerequisites are minimal - only a valid login is needed; (b) smon_id values are sequential integers trivially enumerable; (c) no vendor-released patch is available, so defenders cannot simply upgrade; and (d) silent tampering with health-check definitions can mask outages or trigger false alerts without triggering obvious audit trails. The scope-change rating is appropriate because data in another tenant's authorization boundary is affected.

Exploit ScenarioDerived

A low-privileged tenant user authenticates to Roxy-WI, then iterates smon_id values (1, 2, 3, …) via PUT /smon/check, rewriting each victim tenant's HTTP/TCP/Ping/DNS check definitions - for example, pointing a competitor's production health check at a benign always-up endpoint so a real outage goes undetected, or rewriting DNS check parameters to generate spurious paging alerts. Because the DB UPDATE succeeds silently with no cross-tenant access log entry, the victim tenant may not notice until monitoring fails them in production. No public exploit is identified at time of analysis, but the attack requires only a single HTTP request per target and is trivially scriptable.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 10, 2026

Cross-tenant data tampering in Roxy-WI versions 8.2.6.4 and prior allows any authenticated user to silently overwrite HTTP, TCP, Ping, and DNS monitoring checks belonging to other tenants by sending a crafted PUT /smon/check request with another tenant's smon_id. The flaw stems from missing user_group authorization on the UPDATE SQL path (CWE-639, IDOR), while the DELETE path is correctly filtered - confirming the maintainers knew the right pattern but failed to apply it on update. No public exploit identified at time of analysis, and no vendor-released patch is available, raising operational risk for multi-tenant deployments.

RemediationAI

No vendor-released patch identified at time of analysis; the GitHub Security Advisory GHSA-856h-mvm2-2h2x (https://github.com/roxy-wi/roxy-wi/security/advisories/GHSA-856h-mvm2-2h2x) confirms the issue but does not yet list a fixed version. Until a patched release is published, operators should treat all authenticated Roxy-WI users as trusted within the SMON scope, which is impractical for multi-tenant installs - so the recommended compensating controls are: restrict /smon/check (PUT) at a reverse proxy or WAF to administrator IP ranges only, accepting that legitimate tenants will lose self-service edit capability; segregate tenants into separate Roxy-WI instances if multi-tenancy is required; and enable database-level audit logging on the smon tables so unauthorized rewrites can at least be detected and reverted. As a code-level workaround for operators willing to maintain a local fork, mirror the DELETE path's WHERE id = ? AND user_group = ? predicate (app/modules/db/smon.py:319-327) into the update_smon/update_smonHttp/update_smonTcp/update_smonPing/update_smonDns functions at app/modules/db/smon.py:515-562 - note this may break legitimate cross-group admin edits and should be validated against your role model.

Affected VersionsENISA

roxy-wi ≤ 8.2.6.4

Affected Packages

euvd roxy_wi no fix

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 Python/Flask web interface for managing HAProxy, Nginx, Apache, and Keepalived clusters, including its own SMON (Service Monitor) subsystem for HTTP/TCP/Ping/DNS health checks. The vulnerable code path is in app/routes/smon/routes.py:117-138, where the PUT /smon/check handler relies solely on roxywi_common.check_user_group_for_flask() - a coarse check that confirms the caller belongs to some group but never validates that the target check_id belongs to the caller's group. The downstream update_smon, update_smonHttp, update_smonTcp, update_smonPing, and update_smonDns functions in app/modules/db/smon.py:515-562 issue SQL UPDATE statements scoped only by WHERE smon_id = ?, with no user_group predicate. This is the textbook CWE-639 Authorization Bypass Through User-Controlled Key pattern: a server-side object reference (smon_id) is trusted from the client without an ownership check.

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

NVD PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:L

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
Low
Integrity
High
Availability
Low

DescriptionNVD

Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. In versions 8.2.6.4 and prior, PUT /smon/check (app/routes/smon/routes.py:117-138) gates only on roxywi_common.check_user_group_for_flask() - which validates that the caller has some group, not that the target check_id belongs to it. The downstream SQL update functions update_smon, update_smonHttp, update_smonTcp, update_smonPing, update_smonDns (app/modules/db/smon.py:515-562) all execute WHERE smon_id = ? with no user_group filter. The DELETE path is correctly filtered (app/modules/db/smon.py:319-327 does WHERE id = ? AND user_group = ?), demonstrating that the maintainers know the right pattern but did not apply it on UPDATE. Therefore any authenticated user can iterate over smon_id values and silently rewrite any other tenant's HTTP / TCP / Ping / DNS monitoring check. At time of publication, there are no publicly available patches.

Executive ViewAI

Why It Matters

A critical authorization flaw in Roxy-WI versions 8.2.6.4 and earlier allows authenticated users to secretly modify monitoring checks across tenants, undermining visibility and operational control in multi-tenant deployments. This cross-tenant tampering threat enables data integrity violations without audit trails, creating compliance and operational risks for any organization running vulnerable instances.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) restrict API endpoint access via firewall or WAF to trusted administrator networks; (2) implement read-only roles for non-administrative tenants; (3) enable continuous logging and alerting on PUT /smon/check requests to detect unauthorized modifications; (4) consider network segmentation to isolate critical monitoring systems; (5) establish vendor communication protocol to deploy patch immediately upon release.

Threat Intelligence Overview

EPSS Score
0.0%
Top 90% exploitable
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Partial

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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

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