CVE-2026-40304

zrok's broken ownership check in DELETE /api/v2/unaccess allows non-admin to delete global frontend records

Published Apr 17, 2026 CVSS 3.1 · 5.3 Medium EPSS < 1% KEV · Not listed
Description
zrok is software for sharing web services, files, and network resources. Prior to version 2.0.1, the unaccess handler (controller/unaccess.go) contains a logical error in its ownership guard: when a frontend record has environment_id = NULL (the marker for admin-created global frontends), the condition short-circuits to false and allows the deletion to proceed without any ownership verification. A non-admin user who knows a global frontend token can call DELETE /api/v2/unaccess with any of their own environment IDs and permanently delete the global frontend, taking down all public shares routed through it. Version 2.0.1 patches the issue.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-3jpj-v3xr-5h6g zrok: Broken ownership check in DELETE /api/v2/unaccess allows non-admin to delete global frontend records
History
Type Values Removed Values Added
First Time appeared Netfoundry
Netfoundry zrok
CPEs cpe:2.3:a:netfoundry:zrok:*:*:*:*:*:*:*:*
Vendors & Products Netfoundry
Netfoundry zrok
Type Values Removed Values Added
First Time appeared Openziti
Openziti zrok
Vendors & Products Openziti
Openziti zrok
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description zrok is software for sharing web services, files, and network resources. Prior to version 2.0.1, the unaccess handler (controller/unaccess.go) contains a logical error in its ownership guard: when a frontend record has environment_id = NULL (the marker for admin-created global frontends), the condition short-circuits to false and allows the deletion to proceed without any ownership verification. A non-admin user who knows a global frontend token can call DELETE /api/v2/unaccess with any of their own environment IDs and permanently delete the global frontend, taking down all public shares routed through it. Version 2.0.1 patches the issue.
Title zrok's broken ownership check in DELETE /api/v2/unaccess allows non-admin to delete global frontend records
Weaknesses CWE-284
CWE-863
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Apr 20, 2026, 2:57 PM
Reserved
Apr 10, 2026, 9:41 PM
Status
Analyzed
Published
Apr 17, 2026, 10:16 PM
Modified
Oct 26, 2026, 10:10 PM