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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| OpenStack | Blazar | 1.0.0 – < 15.1.1, 16.0.0 – < 16.0.1, 17.0.0 – < 17.0.1 | 15.1.1 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | blazar | 18.0.0~rc1-3 | — |
| Debian 13 | blazar | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | blazar | No fix yet | — |
| Ubuntu 26.04 LTS | blazar | No fix yet | — |
References
- https://launchpad.net/bugs/2162719 issue-tracking