The OpenStack Identity service (Keystone) authenticates and authorizes OpenStack users by keeping track of users and their permitted activities. The Identity service supports multiple forms of authentication, including user name and password credentials, token-based systems, and AWS-style logins.
It was found that the MySQL token driver did not correctly store token expiration times, which prevented manual token revocation. Only OpenStack Identity setups configured to make use of revocation events were affected. (CVE-2014-5251)
A flaw was found in keystone revocation events that resulted in the "issued_at" time being updated when a token created by the V2 API was processed by the V3 API. This could allow a user to evade token revocation. Only OpenStack Identity setups configured to make use of revocation events and UUID tokens were affected. (CVE-2014-5252)
It was discovered that domain-scoped tokens were not revoked when a domain was disabled. Only OpenStack Identity setups configured to make use of revocation events were affected. (CVE-2014-5253)
The openstack-keystone packages have been upgraded to upstream version 2014.1.2.1, which provides a number of bug fixes over the previous version. The most notable bug fixes are:
When a scoped token that was created from an unscoped token was revoked, the original token was revoked as well. This was because the scope was not included in the revocation event. By including the scope in the revocation event, only the scoped token is revoked.
If a domain or a project was renamed, the old name remained in the cache. As a result the old name could be used in some requests until the cache record expired. For example, the old domain name could still be used for authentication after renaming the domain. Cache entries are now properly invalidated for domain and project rename operations.
OpenStack Identity did not return the same status and headers for HEAD and GET requests, which does not follow the HTTP specification. This would lead to different status codes between running keystone-all versus running keystone in Apache httpd with mod_wsgi. The responses have been corrected to be consistent regardless of the webserver being used.
The migration operation that creates the region table did not explicitly set the character set to 'utf8'. Consequently, when the database's default character set was not set, the db_sync operation failed. The migration operation now detects this condition and corrects the database.
Refer to https://launchpad.net/keystone/icehouse/2014.1.2 for more information on the bug fixes included in version 2014.1.2.1. (BZ#1127434)
All openstack-keystone users are advised to upgrade to these updated packages, which correct these issues.