Project admin gets treated as Global Admin with Secure RBAC
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
New
|
Undecided
|
Unassigned | ||
OpenStack Security Advisory |
Incomplete
|
Undecided
|
Unassigned |
Bug Description
This issue is being treated as a potential security risk under
embargo. Please do not make any public mention of embargoed
(private) security vulnerabilities before their coordinated
publication by the OpenStack Vulnerability Management Team in the
form of an official OpenStack Security Advisory. This includes
discussion of the bug or associated fixes in public forums such as
mailing lists, code review systems and bug trackers. Please also
avoid private disclosure to other individuals not already approved
for access to this information, and provide this same reminder to
those who are made aware of the issue prior to publication. All
discussion should remain confined to this private bug report, and
any proposed fixes should be added to the bug as attachments. This
embargo shall not extend past 2021-09-20 and will be made
public by or on that date even if no fix is identified.
stack@ubnt-
OS_REGION_
OS_PROJECT_
OS_CACERT=
OS_AUTH_URL=http://
OS_TENANT_
OS_USER_
OS_USERNAME=
OS_VOLUME_
OS_AUTH_
OS_PROJECT_
OS_PASSWORD=<snip>
OS_IDENTITY_
stack@ubnt-
+------
| Field | Value |
+------
| domain_id | default |
| email | <email address hidden> |
| enabled | False |
| id | 960e1d31f46a46a
| name | demo |
| options | {} |
| password_expires_at | None |
+------
stack@ubnt-
stack@ubnt-
+------
| Field | Value |
+------
| domain_id | default |
| email | <email address hidden> |
| enabled | True |
| id | 960e1d31f46a46a
| name | demo |
| options | {} |
| password_expires_at | None |
+------
stack@ubnt-
+------
| Role | User | Group | Project | Domain | System | Inherited |
+------
| admin | | admins@Default | admin@Default | | | False |
| anotherrole | alt_demo@Default | | alt_demo@Default | | | False |
| member | alt_demo@Default | | alt_demo@Default | | | False |
| anotherrole | | nonadmins@Default | alt_demo@Default | | | False |
| member | | nonadmins@Default | alt_demo@Default | | | False |
| anotherrole | | nonadmins@Default | demo@Default | | | False |
| member | | nonadmins@Default | demo@Default | | | False |
| admin | nova@Default | | service@Default | | | False |
| service | nova@Default | | service@Default | | | False |
| admin | placement@Default | | service@Default | | | False |
| service | placement@Default | | service@Default | | | False |
| service | glance@Default | | service@Default | | | False |
| member | demo@Default | | invisible_
| anotherrole | demo@Default | | demo@Default | | | False |
| member | demo@Default | | demo@Default | | | False |
| service | cinder@Default | | service@Default | | | False |
| admin | privtest@Default | | privilege-
| service | neutron@Default | | service@Default | | | False |
| admin | admin@Default | | admin@Default | | | False |
| admin | admin@Default | | alt_demo@Default | | | False |
| admin | admin@Default | | demo@Default | | | False |
| admin | admin@Default | | | Default | | False |
| admin | admin@Default | | | | all | False |
+------
NOTE that the privtest user used here has no other affiliations nor roles than admin in privilege-
Not sure how far this goes in Keystone but based on the scope I've been poking at, I'd assume it's global.
information type: | Private Security → Public Security |
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security
reviewers for the affected project or projects confirm the bug and
discuss the scope of any vulnerability along with potential
solutions.