Skip to content
Fencer Vulns
high 8.8

CVE-2020-12689 json

OpenStack Keystone EC2 and/or credential endpoints are not protected from a scoped context

published 2020-05-06 6 y ago modified 2026-06-17 4 mo ago also GHSA-chgw-36xv-47cw , PYSEC-2020-53 , EUVD-2020-0095

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

Summary

An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. Any user authenticated within a limited scope (trust/oauth/application credential) can create an EC2 credential with an escalated permission, such as obtaining admin while the user is on a limited viewer role. 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-12689

  • keystone Ubuntu 18.04 LTS 2:13.0.4-0ubuntu1

ubuntu advisories UBUNTU-CVE-2020-12689

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-12689 updated cvss 8.8

openstack-keystone: EC2 and credential endpoints are not protected from a scoped context

  • 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

1.56% chance of exploitation in the next 30 days, higher than 75% 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-269 Improper Privilege Management

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.