OSSN-0062: Potential reuse of revoked Identity tokens

Summary

An authorization token issued by the Identity service can be revoked, which is designed to immediately make that token invalid for future use. When the PKI or PKIZ token providers are used, it is possible for an attacker to manipulate the token contents of a revoked token such that the token will still be considered to be valid. This can allow unauthorized access to cloud resources if a revoked token is intercepted by an attacker.

Affected Services / Software

Keystone, Icehouse, Juno, Kilo, Liberty

Discussion

Token revocation is used in OpenStack to invalidate a token for further use. This token revocation takes place automatically in certain situations, such as when a user logs out of the Dashboard. If a revoked token is obtained by another party, it should no longer be possible to use it to perform any actions within the cloud. Unfortunately, this is not the case when the PKI or PKIZ token providers are used.

When a PKI or PKIZ token is validated, the Identity service checks it by searching for a revocation by the entire token. It is possible for an attacker to manipulate portions of an intercepted PKI or PKIZ token that are not cryptographically protected, which will cause the revocation check to improperly consider the token to be valid.

Contacts / References

Author: Nathan Kinder, Red Hat