Add OSSN-0009 - Potential token revocation abuse via group membership
This adds OSSN-0009, which covers an issue related to the ability for a user to to abuse group operations in Keystone to trigger revocation of tokens for other users. Change-Id: Ic59048442a78fd37b4dcb608ee1a468af70fa82d Related-Bug: #1268751
This commit is contained in:
parent
732ab7bec2
commit
5380798f05
45
notes/OSSN-0009
Normal file
45
notes/OSSN-0009
Normal file
@ -0,0 +1,45 @@
|
||||
Potential token revocation abuse via group membership
|
||||
---
|
||||
|
||||
### Summary ###
|
||||
Deletion of groups in Keystone causes token revocation for group
|
||||
members. If group capabilities are delegated to users, they can abuse
|
||||
those capabilities to maliciously revoke tokens for other users.
|
||||
|
||||
### Affected Services / Software ###
|
||||
Keystone, Grizzly, Havana, Icehouse
|
||||
|
||||
### Discussion ###
|
||||
If a group is deleted from Keystone, all tokens for all users that are
|
||||
members of that group are revoked. By adding users to a group without
|
||||
those users' knowledge and then deleting that group, a group admin can
|
||||
revoke all of the users' tokens. While the default policy file gives
|
||||
the group admin role to global admin, an alternative policy could
|
||||
delegate the "create_group", "add_user_to_group", and "delete_group"
|
||||
capabilities to a set of users. In such a system, those users will also
|
||||
get a token revocation capability. Only setups using a custom policy
|
||||
file in Keystone are affected.
|
||||
|
||||
### Recommended Actions ###
|
||||
Keystone's default policy.json file uses the "admin_required" rule for
|
||||
the "create_group", "delete_group", and "add_user_to_group"
|
||||
capabilities. It is recommended that you use this default configuration
|
||||
if possible. Here is an example snippet of a properly configured
|
||||
policy.json file:
|
||||
|
||||
---- begin example policy.json snippet ----
|
||||
"identity:create_group": "rule:admin_required",
|
||||
"identity:delete_group": "rule:admin_required",
|
||||
"identity:add_user_to_group": "rule:admin_required",
|
||||
---- end example policy.json snippet ----
|
||||
|
||||
If you need to delegate the above capabilities to non-admin users, you
|
||||
need to take into account that those users will be able to revoke
|
||||
tokens for other users by performing group deletion operations. You
|
||||
should take caution with who you delegate these capabilities to.
|
||||
|
||||
### Contacts / References ###
|
||||
This OSSN : https://wiki.openstack.org/wiki/OSSN/OSSN-0009
|
||||
Original LaunchPad Bug : https://bugs.launchpad.net/keystone/+bug/1268751
|
||||
OpenStack Security ML : openstack-security@lists.openstack.org
|
||||
OpenStack Security Group : https://launchpad.net/~openstack-ossg
|
Loading…
Reference in New Issue
Block a user