Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain low-privileged Roxy-WI account
-
DeliveryEnumerate sequential smon_id values
-
ExploitSend crafted PUT /smon/check with victim's smon_id
-
InstallBypass check_user_group_for_flask group check
-
C2Trigger update_smon* SQL UPDATE without user_group filter
-
ExecuteSilently rewrite victim tenant's monitoring check
-
ImpactMask 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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 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
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
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.
Articles & Coverage 4
Executive ViewAI
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.
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
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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
Remote code execution in Roxy-WI versions 8.2.6.4 and prior allows authenticated users to write attacker-controlled cont
Privilege escalation and cross-tenant compromise in Roxy-WI versions 8.2.6.4 and prior allows any authenticated user - i
EUVD-2026-36037
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB