Page MenuHomePhabricator

OpenStack / Horizon lets “reader” users promote anyone to “member”
Closed, ResolvedPublicSecurity

Description

Example: I (lucaswerkmeister) am currently only a “reader” in the bastion project; under Access > Project Access, I see a big “Grant Member Role” button next to all non-member readers, including myself.

Screen Shot 2025-06-04 at 14.26.23.png (3,840×2,160 px, 379 KB)

The button appears to be functional; I used it to promote myself to “member” in deployment-prep, in an attempt to debug T396012.

There is also a “Revoke Member Role” button; I have not tried out if it does what it says.

Screen Shot 2025-06-04 at 14.40.07.png (1,280×719 px, 99 KB)

Details

Risk Rating
High
Author Affiliation
Wikimedia Communities
Related Changes in Gerrit:

Event Timeline

That UI is governed by:

admin_or_owner: is_admin:True or rule:member_role

members:grant_membership: rule:admin_or_owner
members:revoke_membership: rule:admin_or_owner
members:toggle_member: rule:admin_or_owner

Which looks right to me, but the fact that both the UI and the backend agree that this is allowed means something bad is happening with the policy engine :(

• taavi triaged this task as Unbreak Now! priority.Jun 4 2025, 12:51 PM
• taavi subscribed.

With my non-privileged user, I only see the "Grant Member Role" button for existing users, not the usual add/remove user actions.

Looking at the code, that seems to be guarded behind the members:toggle_projectadmin rule, while the policy definition has members:toggle_member.. is oslo.policy really falling open when a rule is not defined anywhere?

@LucasWerkmeister, thank you for the clear and discreet report. I believe that this is now resolved, can you please confirm on your end?

• taavi assigned this task to Andrew.
sbassett moved this task from Incoming to Our Part Is Done on the Security-Team board.
sbassett changed the visibility from "Custom Policy" to "Public (No Login Required)".
sbassett changed the edit policy from "Custom Policy" to "All Users".
sbassett changed Risk Rating from N/A to High.