Description
In OpenStack Keystone before 29.0.3, any authenticated user holding role:reader on any project can list every project-scoped role assignment under any domain by passing a domain ID as scope.project.id with include_subtree to the GET /v3/role_assignments endpoint. The domain's project record has domain_id=null, causing the policy domain_id check to pass for any caller. With include_names, the response discloses the names and home-domain IDs of every user, group, project, and role involved. The literal "default" domain ID works against any deployment created with keystone-manage bootstrap. An attacker can harvest domain IDs from the response and repeat the query to map role assignments across the entire cloud. This is caused by misuse of "None" in 

list_role_assignments_for_tree.
Published: 2026-08-26
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Information disclosure
Action: Immediate Patch
AI Analysis

Impact

OpenStack Keystone versions prior to 29.0.3 allow an authenticated user who holds the role:reader on any project to enumerate every project‑scoped role assignment across any domain by sending a GET request to /v3/role_assignments with the query parameters include_subtree and optionally include_names. The query parameter scope.project.id is interpreted as a domain ID; because the project record has domain_id set to null, the policy check that normally validates the caller's domain is bypassed, causing the endpoint to return all role assignments. With include_names the response discloses the names and home‑domain IDs of all users, groups, projects, and roles involved. This means an attacker can harvest domain IDs from the response and repeat the query, mapping role assignments across the entire cloud. The flaw is driven by a misuse of a None value in the internal helper function list_role_assignments_for_tree.

Affected Systems

The vulnerability affects OpenStack Keystone. All releases before version 29.0.3 are vulnerable when a user possesses the role:reader on a project; the flaw does not require elevated privileges beyond that. Even deployments that use the default bootstrap domain are susceptible because the literal domain ID "default" always triggers the bypass. The affected component is the GET /v3/role_assignments endpoint, and the error mode can be triggered by supplying include_subtree and, if desired, include_names in the request.

Risk and Exploitability

The CVSS score of 7.1 classifies the bug as high severity. The EPSS score of less than 1% indicates a very low observed exploitation probability at present. The vulnerability is not listed in the CISA KEV catalog. Attackers need only have legitimate access to a project with the role:reader; they must supply crafted query parameters to the role assignment endpoint. Once they obtain the response, they can map every user's domain and role structure, which can aid in planning further compromise or privilege escalation. The primary risk is stealthy information gathering across the cloud.

Generated by OpenCVE AI on September 11, 2026 at 06:37 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest OpenStack Keystone release, version 29.0.3 or later, which implements proper domain_id validation in role assignment queries and fixes the None value misuse.
  • Restrict use of the include_names and include_subtree query parameters for callers with only reader access; configure Keystone to reject or ignore these parameters for role:reader users to prevent accidental information exposure.
  • Revoke or limit the role:reader privilege for projects that do not require it, thereby reducing the number of accounts that can trigger the disclosure; enforce strict role‑based access controls to mitigate the underlying authorization weakness (CWE-639).

Generated by OpenCVE AI on September 11, 2026 at 06:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4767-1 keystone security update
Debian DSA Debian DSA DSA-6480-1 keystone security update
History

Fri, 11 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Title keystone: OpenStack Keystone: Information disclosure via improper handling of domain IDs in role assignment listings
Weaknesses CWE-639
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Moderate


Thu, 27 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Thu, 27 Aug 2026 00:30:00 +0000

Type Values Removed Values Added
Description In OpenStack Keystone before 29.0.3, any authenticated user holding role:reader on any project can list every project-scoped role assignment under any domain by passing a domain ID as scope.project.id with include_subtree to the GET /v3/role_assignments endpoint. The domain's project record has domain_id=null, causing the policy domain_id check to pass for any caller. With include_names, the response discloses the names and home-domain IDs of every user, group, project, and role involved. The literal "default" domain ID works against any deployment created with keystone-manage bootstrap. An attacker can harvest domain IDs from the response and repeat the query to map role assignments across the entire cloud. This is caused by misuse of "None" in  list_role_assignments_for_tree.
First Time appeared Openstack
Openstack keystone
Weaknesses CWE-843
CPEs cpe:2.3:a:openstack:keystone:*:*:*:*:*:*:*:*
Vendors & Products Openstack
Openstack keystone
References
Metrics cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:N/SA:N'}


Subscriptions

Openstack Keystone
cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-08-27T14:08:09.543Z

Reserved: 2026-08-25T21:24:11.765Z

Link: CVE-2026-80183

cve-icon Vulnrichment

Updated: 2026-08-27T14:03:53.091Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-08-27T01:18:16.050

Modified: 2026-09-09T16:03:22.897

Link: CVE-2026-80183

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-26T23:16:43Z

Links: CVE-2026-80183 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-11T06:45:06Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key

  • CWE-843

    Access of Resource Using Incompatible Type ('Type Confusion')