Skip to content
Fencer Vulns
high 8.8

CVE-2020-12691 json

OpenStack Keystone V3 /credentials endpoint policy logic allows to change credentials owner or target project ID

published 2020-05-06 6 y ago modified 2026-06-17 4 mo ago also GHSA-4427-7f3w-mqv6 , PYSEC-2020-55 , EUVD-2020-0097

cvss
8.8
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
4.9%
EPSS 4.9% chance of exploitation in 30 days, percentile 92%
public exploits
0
none known

Summary

An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. Any authenticated user can create an EC2 credential for themselves for a project that they have a specified role on, and then perform an update to the credential user and project, allowing them to masquerade as another user. This potentially allows a malicious user to act as the admin on a project another user has the admin role on, which can effectively grant that user global admin privileges.

Patch / fix

  • pypi keystone 15.0.1, 16.0.1
  • openstack keystone 15.0.1
  • keystone Debian 14, Debian 13, Debian 12 2:17.0.0~rc2-1

debian advisories DEBIAN-CVE-2020-12691

  • keystone Ubuntu 18.04 LTS 2:13.0.4-0ubuntu1

ubuntu advisories UBUNTU-CVE-2020-12691

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • openstack-keystone openstack 15 1:15.0.1-0.20200512110437.95b2bbe.el8ost
  • python3-keystone openstack 15 1:15.0.1-0.20200512110437.95b2bbe.el8ost
  • openstack-keystone openstack 16 1:16.0.1-0.20200511063421.40cbb7b.el8ost
  • python3-keystone openstack 16 1:16.0.1-0.20200511063421.40cbb7b.el8ost
  • openstack-keystone openstack 10 1:10.0.3-8.el7ost
  • python-keystone openstack 10 1:10.0.3-8.el7ost
  • python-keystone-tests openstack 10 1:10.0.3-8.el7ost
  • openstack-keystone openstack 13 1:13.0.4-3.el7ost

red hat advisories RHSA-2020:3102RHSA-2020:3105RHSA-2020:3096RHSA-2020:2732

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2020-12691 updated cvss 8.8

openstack-keystone: Credentials endpoint policy logic allows changing credential owner and target project ID

  • Red Hat Enterprise Linux OpenStack Platform 7 (Kilo) python-keystone, openstack-keystone
    affected: no fix planned “Out of support scope”
  • Red Hat OpenStack Platform 10.0 python-keystone 10.0.3-8.el7ost, openstack-keystone 10.0.3-8.el7ost, python-keystone-tests 10.0.3-8.el7ost
    fixed: vendor fix RHSA-2020:3096
  • Red Hat OpenStack Platform 13.0 python-keystone 13.0.4-3.el7ost, openstack-keystone 13.0.4-3.el7ost Red Hat OpenStack Platform 13.0 for RHEL 7.6 EUS Server python-keystone 13.0.4-3.el7ost, openstack-keystone 13.0.4-3.el7ost
    fixed: vendor fix RHSA-2020:2732
  • Red Hat OpenStack Platform 15.0 python3-keystone 15.0.1-0.20200512110437.95b2bbe.el8ost, openstack-keystone 15.0.1-0.20200512110437.95b2bbe.el8ost
    fixed: vendor fix RHSA-2020:3102
  • Red Hat OpenStack Platform 16.0 python3-keystone 16.0.1-0.20200511063421.40cbb7b.el8ost, openstack-keystone 16.0.1-0.20200511063421.40cbb7b.el8ost
    fixed: vendor fix RHSA-2020:3105
  • Red Hat JBoss Fuse 6 openstack-keystone Red Hat Quay 3 quay/quay-rhel8
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

4.92% chance of exploitation in the next 30 days, higher than 92% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
NVD 3.1 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
NVD 2.0 6.5 AV:N/AC:L/Au:S/C:P/I:P/A:P
GitHub 3.1 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
pypi keystone
<15.0.1
>=16.0.0, <16.0.1
15.0.1
16.0.1

Classification

Weakness
  • CWE-863 Incorrect Authorization
  • CWE-311 Missing Encryption of Sensitive Data

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.