В OpenStack Keystone до версии 29.0.3 любой прошедший проверку подлинности пользователь, владеющий ролью:читатель в любом проекте, может перечислить все назначения ролей в рамках проекта в любом домене, передав идентификатор домена какscope.project.id с помощью include_subtree в конечную точку GET /v3/role_assignments. Запись проекта домена имеет значение domain_id=null, что приводит к тому, что проверка политики domain_id проходит для любого вызывающего объекта. При использовании include_names ответ раскрывает имена и идентификаторы домашнего домена каждого задействованного пользователя, группы, проекта и роли. Буквальный идентификатор домена «по умолчанию» работает для любого развертывания, созданного с помощью начальной загрузки keystone-manage.
Злоумышленник может получить идентификаторы доменов из ответа и повторить запрос, чтобы сопоставить назначения ролей по всему облаку. Это вызвано неправильным использованием параметра «Нет» в
list_role_assignments_for_tree.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 3
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Openstack Keystone
cpe:2.3:a:openstack:keystone:*:*:*:*:*:*:*:*
|
16.0.0
|
27.0.3
|
|
Openstack Keystone
cpe:2.3:a:openstack:keystone:*:*:*:*:*:*:*:*
|
28.0.0
|
28.0.3
|
|
Openstack Keystone
cpe:2.3:a:openstack:keystone:*:*:*:*:*:*:*:*
|
29.0.0
|
29.0.3
|