Is there a way for the admin to disable all tokens already issued for a tenant he wants to disable ? Then I'd tend to consider this a poor feature with potential security consequences (requiring information) rather than a vulnerability.

There's no convenient way to revoke the correct subset of tokens through the API or through the backend itself (even the SQL driver doesn't index by tenant/project). Depending on the actual driver in use, I'd suggest a brute force solution to wipe *all* tokens:

It's always wise to tread lightly where authentication behavior and the principle of least surprise are concerned. I don't think this warrants an OSSA, but might benefit from an OSSG security note with recommendations for how deployers can work around this shortcoming in production (whether that's clearing all active tokens or something more targeted).

### 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.

### 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.

### 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.

### 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.

### 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 ###
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 revoke 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.

May need to clarify Memcache without DB backend ( in "If you deploy using Memcache .." ), where flushing cache would resolve the issue. If there is a DB behind it, your next paragraph with DB script necessary to clean up.