Comment 17 for bug 1179955

Revision history for this message
Robert Clark (robert-clark) wrote :

[DRAFT]
Disabling a tenant does not disable a user token
----

### Summary ###
When a tenant is disabled in Keystone, tokens that have been issued to that tenant are not invalidated. This can result in users having access to your cloud after you have attempted to revoke them.

### Affected Services / Software ###
Keystone

### Discussion ###
It appears that Keystone does not purge the tokens given out to tenants when a tenant is disabled. In some scenarios this could be very important to cloud providers. Take the case where a cloud provider must a tenant's access because of some legal investigation. Even though the tenant is disabled it would be possible for them to terminate VMs / delete Swift files etc. - There are many other abuse-cases...

### Recommended Actions ###
How the tokens are stored depends on your cloud deployment. If you deploy using Memcache to back Keystone then flushing the cash when disabling a token would resolve this issue for you, at the cost of other token lookups which are no longer in the cash requiring Keystone interaction.

It is of course possible to script something to remove tokens from any backend DB or cache but there is no 'official' way to do this.

NOTE: Flushing memcache can result in loosing token revocation information as addressed in https://bugs.launchpad.net/ossn/+bug/1182920

### Contacts / References ###
Proposed Fix : https://review.openstack.org/#/c/39878/
This OSSN : https://bugs.launchpad.net/ossn/+bug/1179955
CVE : CVE-2013-4222
OpenStack Security ML : openstack-security at lists.openstack.org
OpenStack Security Group : https://launchpad.net/~openstack-ossg