Home

Description

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.

PUBLISHED Reserved 2026-05-12 | Published 2026-06-10 | Updated 2026-06-10 | Assigner GitHub_M




CRITICAL: 9.1CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:L

Problem types

CWE-639: Authorization Bypass Through User-Controlled Key

CWE-862: Missing Authorization

CWE-863: Incorrect Authorization

Product status

<= 8.2.6.4
affected

References

github.com/...oxy-wi/security/advisories/GHSA-856h-mvm2-2h2x exploit

github.com/...oxy-wi/security/advisories/GHSA-856h-mvm2-2h2x

cve.org (CVE-2026-45550)

nvd.nist.gov (CVE-2026-45550)

Download JSON