CVE-2026-93854
Description
In OpenStack Blazar before 17.0.1, the V2 lease API does not enforce object-level authorization on its update and delete operations (PUT /v2/leases/{lease_id} and DELETE /v2/leases/{lease_id}). The policy authorize() wrapper attempts to load the target lease to build the authorization target from its owner, but it looks up the lease under the keyword "lease_id" whereas the controller methods name the parameter "id" (and the wsme_pecan.wsexpose wrapper delivers it positionally). The lookup returns None, and thus authorization falls back to the requesting user's own project_id/user_id instead of the target lease owner. Any authenticated user who knows a lease ID can therefore modify or delete leases belonging to other users and projects, bypassing the intended ownership check.
How to fix
- OpenStack Blazar15.1.1, 16.0.1, 17.0.1 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| OpenStack Blazar | 1.0.0 ≤ v < 15.1.1, 16.0.0 ≤ v < 16.0.1, 17.0.0 ≤ v < 17.0.1 | 15.1.1, 16.0.1, 17.0.1 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.