Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid tenant credentials
-
DeliveryDiscover target lease UUID
-
ExploitSend PUT/DELETE to /v2/leases/{id}
-
Executionauthorize() target resolves to None
-
PersistOwnership check falls back to attacker identity
-
ImpactModify or delete other tenants' leases
Vulnerability Assessment
| Weakness |
CWE
|
| Exploitation Conditions | Exploitation requires (1) any valid authenticated OpenStack account with access to the Blazar API (PR:L - not anonymous), (2) a deployment running Blazar before 17.0.1 exposing the V2 lease API, and (3) knowledge of a target lease ID (a UUID that can be obtained or guessed). The limiting factors are the need for a foothold credential on the cloud and the requirement that the operator actually deploys the optional Blazar reservation component; no user interaction, no special non-default configuration, and no elevated privileges are needed once authenticated. The scope is confined to lease objects (modify/delete), not arbitrary code execution. |
| Impact | This is a genuine, high-priority authorization flaw despite the absence of exploitation telemetry. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H, base 7.2) is internally consistent with the description: a network-reachable REST endpoint, no attack requirements, and only a valid low-privilege OpenStack account needed (PR:L). No EPSS score, no CISA KEV listing, and no public POC are provided, so there is no signal of active exploitation - this is a disclosed-but-not-yet-weaponized issue. However, the vulnerability class (broken object-level authorization / IDOR, where the authz target silently falls back to the attacker's own identity) is trivially exploitable with nothing more than curl and a known lease ID, so a low EPSS should not be read as low real risk. Two data-quality caveats: the assigned CWE-1025 ('Comparison Using Wrong Factors') poorly captures the defect, which is really CWE-639/CWE-862 (authorization bypass through a user-controlled key / missing authorization); and the 'Authentication Bypass' tag is misleading because the attacker is fully authenticated - this is an authorization, not authentication, bypass. Confidentiality is correctly rated N since only update/delete are affected, but integrity and availability of other tenants' reservations are directly at stake. |
| Exploit ScenarioDerived | An authenticated OpenStack tenant enumerates or guesses a lease UUID belonging to another project and issues DELETE /v2/leases/{lease_id} or PUT /v2/leases/{lease_id} against the Blazar V2 API. Because the policy target loads under the wrong keyword and resolves to None, the check compares the lease against the attacker's own project_id/user_id and passes, allowing the attacker to cancel or modify reservations they do not own. No public exploit code is identified at time of analysis, but exploitation requires only a standard API call. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
Missing object-level authorization in the OpenStack Blazar V2 lease API allows any authenticated user to modify or delete leases belonging to other users and projects if they know the target lease UUID. The defect affects Blazar releases before 17.0.1 and arises because the oslo.policy authorize() wrapper resolves the wrong request parameter, so the ownership check silently degrades into comparing the requester against their own project_id and user_id and therefore always passes. No public exploit code has been identified at time of analysis, and exploitation requires a valid cloud credential plus a deployment that actually runs the optional reservation service, but the integrity and availability impact on lease objects is high because reservations underpin the scheduled resource allocations of other tenants.
RemediationAI
Upgrade to OpenStack Blazar 17.0.1 or later, which is the first version identified in the input data as containing the object-level authorization fix for the V2 lease API; the release is tracked by the Launchpad bug at https://launchpad.net/bugs/2162719. Vendor-released patch: 17.0.1. Until the upgrade can be scheduled, reduce exposure by constraining who can reach the Blazar API at all - bind the service endpoints to management networks and grant the reservation role only through Keystone policy overrides to projects that genuinely need reservations, accepting that this is a coarse control and offers no protection if a low-privilege tenant already holds the role. Operators who do not use reservations can disable the Blazar API service and remove its endpoints from the service catalog outright, at the cost of losing the feature. Because the authorization failure is silent and writes no policy-denial log line, add monitoring that compares the authenticated token's project against the lease owner recorded in the Blazar database for every PUT and DELETE against /v2/leases/{lease_id}, and retrospectively review recent cross-project lease modifications for abuse. These compensating controls only narrow the window and do not remove the underlying defect, so the upgrade should be treated as mandatory.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
OpenStack Blazar is the reservation-as-a-service component of OpenStack, and its REST surface is implemented with Pecan plus the WSME extension (wsme_pecan.wsexpose), with authorization decisions delegated to oslo.policy's authorize() wrapper. To perform per-object authorization the wrapper must first load the target lease so that the policy target can be populated with that lease's owner project_id and user_id. In the V2 lease controller the vulnerable update and delete methods name their path parameter 'id', while the authorize() wrapper requests the value under the key 'lease_id'; because the wsexpose decorator additionally injects the argument positionally, the keyword lookup returns None rather than the requested lease. The wrapper then falls back to the requesting user's own token context, so the comparison is effectively made between the caller and themselves - this is CWE-1025 (Comparison Using Wrong Factors) and manifests as a textbook broken object level authorization (BOLA/IDOR) condition on PUT /v2/leases/{lease_id} and DELETE /v2/leases/{lease_id}. The failure is silent: no exception is raised and no policy-denial entry is logged, which means the misconfiguration-shaped bug produces no natural detection signal. The supplied CPE data (cpe:2.3:a:openstack:blazar:*:*:*:*:*:*:*:*) indicates all releases prior to 17.0.1 are in scope, and the assessed CVSS:3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H reflects network reachability, low attack complexity, a requirement for an authenticated foothold, no user interaction, and complete loss of integrity and availability for lease objects without scope change.
Know when Openstack gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
Network REST endpoint reachable by any low-privilege authenticated tenant (PR:L, AC:L, no UI); attacker can modify and delete other tenants' leases (I:H/A:H) but cannot read them (C:N).
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
2DescriptionCVE.org
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.
Executive ViewAI
OpenStack Blazar, the optional reservation service, contains a multi-tenant authorization flaw (CVE-2026-93854) that allows any user with a valid cloud credential to modify or delete other tenants' leases, impacting scheduled resource allocations. This undermines tenant isolation and could disrupt critical workloads, eroding trust in the cloud platform. Leadership should prioritize mitigation because the vulnerability affects integrity and availability across projects, even though no public exploit has been identified.
No vendor-released patch identified at time of analysis. Interim mitigations: disable the optional Blazar reservation service if not in use; restrict API access to trusted networks; enable detailed audit logging and alerting for lease modifications; enforce least-privilege IAM policies; monitor for anomalous lease operations; apply upstream patch if available.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Oracle MySQL through 5.5.52, 5.6.x through 5.6.33, and 5.7.x through 5.7.15; MariaDB before 5.5.51, 10.0.x before 10.0.2
Eval injection vulnerability in the create method in the Bookmarks controller in Foreman before 1.2.0-RC2 allows remote
The create method in app/controllers/users_controller.rb in Foreman before 1.2.0-RC2 allows remote authenticated users w
Systems with microprocessors utilizing speculative execution and speculative execution of memory reads before the addres
The Floppy Disk Controller (FDC) in QEMU, as used in Xen 4.5.x and earlier and KVM, allows local guest users to cause a
Memory Corruption was discovered in the cmsgpack library in the Lua subsystem in Redis before 3.2.12, 4.x before 4.0.10,
The IPTables firewall in OpenStack Neutron before 7.0.4 and 8.0.0 through 8.1.0 allows remote attackers to bypass an int
An issue in OpenStack magnum yoga-eom version allows a remote attacker to execute arbitrary code via the cert_manager.py
An Integer Overflow issue was discovered in the struct library in the Lua subsystem in Redis before 3.2.12, 4.x before 4
glibc contains a vulnerability that allows specially crafted LD_LIBRARY_PATH values to manipulate the heap/stack, causin
Buffer overflow in the pcnet_receive function in hw/net/pcnet.c in QEMU, when a guest NIC has a larger MTU, allows remot
Code injection in OpenStack Vitrage query parser allows authenticated users to execute arbitrary Python code through cra
EUVD-2026-83275
GHSA-4rvg-j972-3xw2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB