CVE-2020-12691: OpenStack Keystone V3 /credentials endpoint policy logic allows to change credentials owner or target project ID
Summary
CVE-2020-12691: An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. Affects keystone across 2 version ranges.
< 15.0.1
>= 16.0.0, < 16.0.1
Fixed in 15.0.1 or 16.0.1, depending on the release line you run. How to fix ↓
Also tracked for
- keystone · Debian:11
The same CVE-2020-12691 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
OpenStack Keystone is an open-source identity service used for authentication and authorization in OpenStack cloud environments. It provides a central directory of users mapped to the OpenStack services they can access. Keystone supports multiple authentication methods, including username/password, token-based, and federated identity. The Keystone V3 /credentials endpoint is responsible for managing EC2 credentials for users. These credentials are used to authenticate and authorize access to EC2-compatible services within OpenStack. The vulnerability in Keystone V3 /credentials endpoint allows an authenticated user to create and update EC2 credentials, potentially allowing them to masquerade as another user and gain unauthorized privileges.
Vulnerability Detail
The vulnerability (CVE-2020-12691) in OpenStack Keystone allows any authenticated user to create an EC2 credential for themselves for a project they have a specified role on. They can then perform an update to the credential user and project, enabling them to impersonate another user. This can lead to a malicious user acting as an admin on a project where another user has the admin role, effectively granting the malicious user global admin privileges. The vulnerability has a CVSS score of 8.8, indicating a high severity level.
How To Fix
Latest published version: 30.0.0 as of 22 Oct 2026
pip install --upgrade "keystone==30.0.0"
Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.
If you can't move to the latest
The minimum fixed version depends on the release line you run.
-
< 15.0.115.0.1pip install --upgrade "keystone==15.0.1" -
>= 16.0.0, < 16.0.116.0.1pip install --upgrade "keystone==16.0.1"
Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →
Workaround
There is no known workaround for this vulnerability. It is essential to apply the recommended fix by upgrading to the fixed versions of OpenStack Keystone.
Conclusion
The vulnerability in OpenStack Keystone V3 /credentials endpoint allows an authenticated user to create and update EC2 credentials, potentially leading to unauthorized privilege escalation. It is crucial to upgrade to the fixed versions of OpenStack Keystone to mitigate this vulnerability. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for keystone →
FAQ
OpenStack Keystone is an open-source identity service used for authentication and authorization in OpenStack cloud environments. It provides a central directory of users mapped to the OpenStack services they can access.
The vulnerability allows an authenticated user to create and update EC2 credentials, potentially enabling them to impersonate another user and gain unauthorized privileges. This can lead to a malicious user acting as an admin on a project where another user has the admin role, effectively granting the malicious user global admin privileges.
The CVSS score of this vulnerability is 8.8, indicating a high severity level.
To fix this vulnerability, it is recommended to upgrade to the fixed versions of OpenStack Keystone. For versions prior to 15.0.1, upgrade to version 15.0.1 or later. For versions 16.0.0, upgrade to version 16.0.1 or later.
There is no known workaround for this vulnerability. It is essential to apply the recommended fix by upgrading to the fixed versions of OpenStack Keystone.
References
Related vulnerabilities
Recent vulnerabilities recorded for keystone.