Impact
The logic error in controller/unaccess.go causes the ownership guard to fail when environment_id is NULL, i.e., for admin‑created global frontends. The condition short‑circuits to false, so the check is bypassed. A non‑admin user who knows the global frontend token can call DELETE /api/v2/unaccess with any of their own environment IDs, permanently deleting the global frontend. This removes the routing point that all public shares use, effectively denying service to all users relying on those shares. The flaw is a classic broken access‑control (CWE‑284) combined with an inverse‑logic error (CWE‑863).
Affected Systems
The vulnerability affects the openziti zrok service version prior to 2.0.1. Any deployment that exposes the DELETE /api/v2/unaccess endpoint for frontends created without an environment ID is impacted. Version 2.0.1 and later incorporate the fix, so only older builds are at risk. There are no other vendor or product listings for this issue.
Risk and Exploitability
With a CVSS score of 5.3 the bug falls in the medium severity range. No EPSS score is published, and the vulnerability is not listed in the CISA KEV catalog, so the current probability of exploitation is unknown but the presence of a documented remote API endpoint suggests that an attacker who obtains a global frontend token could perform the deletion with minimal effort. The attack vector is remote, via an HTTP DELETE request. The lack of an official workaround means patching is the only reliable mitigation.
OpenCVE Enrichment
Github GHSA