Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-80183

Опубликовано: 26 авг. 2026
Источник: redhat
CVSS3: 6.5

Описание

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.

A flaw was found in OpenStack Keystone. An authenticated user with a 'reader' role on any project can exploit a vulnerability in the /v3/role_assignments endpoint. By providing a domain ID with the 'include_subtree' parameter, the user can list all project-scoped role assignments across any domain. This leads to the disclosure of names and home-domain IDs for users, groups, projects, and roles throughout the cloud infrastructure.

Отчет

A flaw was found in OpenStack Keystone where an authenticated user with a 'reader' role on any project can exploit improper authorization handling in the /v3/role_assignments endpoint. By providing a domain ID with the 'include_subtree' parameter, the user can list all project-scoped role assignments across any domain. This occurs because domain projects have domain_id=null in the database, causing the policy domain_id check to pass for any caller. With the 'include_names' parameter, the response discloses names and home-domain IDs for all users, groups, projects, and roles within the target domain. This vulnerability was introduced in OpenStack Train 16.0.0 and affects all Red Hat OpenStack Platform versions shipping Keystone versions before the fixes (27.1.0, 28.1.0, 29.1.0).

Меры по смягчению последствий

Restrict role:reader grants to trusted users only. Monitor access to the /v3/role_assignments endpoint with include_subtree and include_names parameters. Upgrade to fixed OpenStack Keystone versions when available.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat OpenStack Platform 13 (Queens)rhosp13/openstack-keystoneAffected
Red Hat OpenStack Platform 16.2openstack-keystoneAffected
Red Hat OpenStack Platform 16.2rhosp-rhel8/openstack-keystoneAffected
Red Hat OpenStack Platform 17.1openstack-keystoneAffected
Red Hat OpenStack Platform 17.1rhosp-rhel9/openstack-keystoneAffected
Red Hat OpenStack Platform 18.0openstack-keystoneAffected

Показывать по

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-639
https://bugzilla.redhat.com/show_bug.cgi?id=2524772keystone: OpenStack Keystone: Information disclosure via improper handling of domain IDs in role assignment listings

6.5 Medium

CVSS3

Связанные уязвимости

ubuntu
21 день назад

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.

nvd
21 день назад

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.

debian
21 день назад

In OpenStack Keystone before 29.0.3, any authenticated user holding ro ...

github
21 день назад

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.

6.5 Medium

CVSS3