{"id":"CVE-2020-12692","aliases":["DEBIAN-CVE-2020-12692","DSA-4679-1","EUVD-2020-0098","GHSA-rqw2-hhrf-7936","PYSEC-2020-56","RHSA-2020:2732","RHSA-2020:3102","RHSA-2020:3105","UBUNTU-CVE-2020-12692","USN-4480-1"],"status":"published","title":"OpenStack Keystone does not check signature TTL of the EC2 credential auth method","description":"An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. The EC2 API doesn't have a signature TTL check for AWS Signature V4. An attacker can sniff the Authorization header, and then use it to reissue an OpenStack token an unlimited number of times.","severity":{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.00705,"percentile":0.53667,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-294","CWE-311","CWE-347"],"published":"2020-05-06T00:00:00Z","modified":"2026-10-26T12:02:25Z","fixes":[{"ecosystem":"PyPI","package":"keystone","fixed_in":["16.0.0","15.0.1"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"keystone","fixed_in":["2:17.0.0~rc2-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"keystone","fixed_in":["2:17.0.0~rc2-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"keystone","fixed_in":["2:17.0.0~rc2-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"keystone","fixed_in":["2:13.0.4-0ubuntu1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"16.0.0.0rc1"},{"fixed":"16.0.0"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"15.0.1"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:17.0.0~rc2-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:17.0.0~rc2-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:17.0.0~rc2-1"}]}]},{"source":"osv","ecosystem":"Debian:10","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:14.2.0-0+deb10u1"}]}],"versions":["2:14.0.1-2"],"bundled":4},{"source":"osv","ecosystem":"PyPI","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"16.0.0.0rc1"},{"fixed":"16.0.0"}]}],"versions":["16.0.0.0rc1","16.0.0.0rc2"]},{"source":"osv","ecosystem":"PyPI","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"15.0.1"}]}],"versions":["12.0.2","12.0.3","13.0.2","13.0.3","13.0.4","14.0.0","14.0.1","14.1.0","14.2.0","15.0.0","15.0.0.0rc1","15.0.0.0rc2"]},{"source":"osv","ecosystem":"PyPI","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"15.0.1"}]}],"versions":["12.0.2","12.0.3","13.0.2","13.0.3","13.0.4","14.0.0","14.0.1","14.1.0","14.2.0","15.0.0","15.0.0.0rc1","15.0.0.0rc2"]},{"source":"osv","ecosystem":"Red Hat:openstack:13::el7","package":"openstack-keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:13.0.4-3.el7ost"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:openstack:13::el7","package":"python-keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:13.0.4-3.el7ost"}]}],"bundled":3},{"source":"osv","ecosystem":"Red Hat:openstack:15::el8","package":"openstack-keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:15.0.1-0.20200512110437.95b2bbe.el8ost"}]}],"bundled":4},{"source":"osv","ecosystem":"Red Hat:openstack:15::el8","package":"python3-keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:15.0.1-0.20200512110437.95b2bbe.el8ost"}]}],"bundled":4},{"source":"osv","ecosystem":"Red Hat:openstack:16::el8","package":"openstack-keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:16.0.1-0.20200511063421.40cbb7b.el8ost"}]}],"bundled":4},{"source":"osv","ecosystem":"Red Hat:openstack:16::el8","package":"python3-keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:16.0.1-0.20200511063421.40cbb7b.el8ost"}]}],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2:8.0.0-0ubuntu1","2:9.0.0~b1-0ubuntu1","2:9.0.0~b2-0ubuntu1","2:9.0.0~b3-0ubuntu1","2:9.0.0~rc1-0ubuntu1","2:9.0.0-0ubuntu1","2:9.0.2-0ubuntu1","2:9.0.2-0ubuntu2","2:9.1.0-0ubuntu1","2:9.2.0-0ubuntu1","2:9.3.0-0ubuntu1","2:9.3.0-0ubuntu2","2:9.3.0-0ubuntu3","2:9.3.0-0ubuntu3.1","2:9.3.0-0ubuntu3.2","2:9.3.0-0ubuntu3.2+esm2"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:13.0.4-0ubuntu1"}]}],"versions":["2:12.0.0-0ubuntu1","2:13.0.0~b1-0ubuntu1","2:13.0.0~b2-0ubuntu1","2:13.0.0~b3-0ubuntu1","2:13.0.0~rc1-0ubuntu1","2:13.0.0~rc2-0ubuntu1","2:13.0.0-0ubuntu1","2:13.0.1-0ubuntu1","2:13.0.2-0ubuntu1","2:13.0.2-0ubuntu3"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"keystone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:13.0.4-0ubuntu1"}]}],"versions":["2:12.0.0-0ubuntu1","2:13.0.0~b1-0ubuntu1","2:13.0.0~b2-0ubuntu1","2:13.0.0~b3-0ubuntu1","2:13.0.0~rc1-0ubuntu1","2:13.0.0~rc2-0ubuntu1","2:13.0.0-0ubuntu1","2:13.0.1-0ubuntu1","2:13.0.2-0ubuntu1","2:13.0.2-0ubuntu3"],"bundled":4}],"products":[{"vendor":"canonical","product":"ubuntu_linux"},{"vendor":"openstack","product":"keystone"}],"references":[{"url":"https://security.openstack.org/ossa/OSSA-2020-003.html","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web","article"]},{"url":"https://bugs.launchpad.net/keystone/+bug/1872737","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://www.openwall.com/lists/oss-security/2020/05/06/4","tags":["x_refsource_MISC","x_transferred","Mailing List","Third Party Advisory","advisory","web","report"]},{"url":"http://www.openwall.com/lists/oss-security/2020/05/07/1","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://usn.ubuntu.com/4480-1/","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-12692","tags":["advisory"]},{"url":"https://opendev.org/openstack/keystone/commit/ab89ea749013e7f2c46260f68504f5687763e019","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/keystone/PYSEC-2020-56.yaml","tags":["web"]},{"url":"https://usn.ubuntu.com/4480-1","tags":["web"]},{"url":"https://github.com/advisories/GHSA-rqw2-hhrf-7936","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2020-12692","tags":["advisory"]},{"url":"https://github.com/openstack/keystone","tags":["package"]},{"url":"https://access.redhat.com/errata/RHSA-2020:2732","tags":["advisory"]},{"url":"https://access.redhat.com/security/updates/classification/#important","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1830384","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1830396","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1831566","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1833164","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2020/rhsa-2020_2732.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-12689","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-12689","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-12689","tags":["advisory"]},{"url":"https://security.openstack.org/ossa/OSSA-2020-004.html","tags":["article"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-12691","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-12691","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-12691","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-12692","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-12692","tags":["advisory","report"]},{"url":"https://access.redhat.com/errata/RHSA-2020:3102","tags":["advisory"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1830395","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2020/rhsa-2020_3102.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2020-12690","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-12690","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-12690","tags":["advisory"]},{"url":"https://security.openstack.org/ossa/OSSA-2020-005.html","tags":["article"]},{"url":"https://access.redhat.com/errata/RHSA-2020:3105","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2020/rhsa-2020_3105.json","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2020-12692","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-4480-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2020-12689","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2020-12690","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2020-12691","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2020-12692","description":"An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. The EC2 API doesn't have a signature TTL check for AWS Signature V4. An attacker can sniff the Authorization header, and then use it to reissue an OpenStack token an unlimited number of times.","status":"published","published":"2020-05-06T23:42:42Z","modified":"2024-08-04T12:04:22.87Z","updated_at":"2026-11-02T14:35:53.236501Z"}],"euvd":[{"id":"EUVD-2020-0098","description":"An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. The EC2 API doesn't have a signature TTL check for AWS Signature V4. An attacker can sniff the Authorization header, and then use it to reissue an OpenStack token an unlimited number of times.","status":"published","published":"2020-05-06T23:42:42Z","modified":"2024-08-04T12:04:22Z","updated_at":"2026-11-03T03:07:39.896975Z"}],"ghsa":[{"id":"GHSA-rqw2-hhrf-7936","title":"OpenStack Keystone does not check signature TTL of the EC2 credential auth method","description":"An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. The EC2 API doesn't have a signature TTL check for AWS Signature V4. An attacker can sniff the Authorization header, and then use it to reissue an OpenStack token an unlimited number of times.","status":"published","published":"2022-05-24T17:17:23Z","modified":"2024-09-27T21:21:48Z","cvss":[{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium"},{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-311","CWE-347"],"updated_at":"2026-11-02T14:38:06.988799Z"}],"nvd":[{"id":"CVE-2020-12692","description":"An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. The EC2 API doesn't have a signature TTL check for AWS Signature V4. An attacker can sniff the Authorization header, and then use it to reissue an OpenStack token an unlimited number of times.","status":"published","published":"2020-05-07T00:15:10.987Z","modified":"2026-06-17T02:52:08.747Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":5.5,"vector":"AV:N/AC:L/Au:S/C:P/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-294","CWE-347"],"updated_at":"2026-11-02T14:06:00.784809Z"}],"osv":[{"id":"CVE-2020-12692","description":"An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. The EC2 API doesn't have a signature TTL check for AWS Signature V4. An attacker can sniff the Authorization header, and then use it to reissue an OpenStack token an unlimited number of times.","status":"published","published":"2020-05-07T00:15:10.987Z","modified":"2026-10-24T10:30:44.85186569Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:14.034736Z"},{"id":"DEBIAN-CVE-2020-12692","description":"An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. The EC2 API doesn't have a signature TTL check for AWS Signature V4. An attacker can sniff the Authorization header, and then use it to reissue an OpenStack token an unlimited number of times.","status":"published","published":"2020-05-07T00:15:10.987Z","modified":"2026-10-26T12:02:25.398923865Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:32.862554Z"},{"id":"GHSA-rqw2-hhrf-7936","title":"OpenStack Keystone does not check signature TTL of the EC2 credential auth method","description":"An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. The EC2 API doesn't have a signature TTL check for AWS Signature V4. An attacker can sniff the Authorization header, and then use it to reissue an OpenStack token an unlimited number of times.","status":"published","published":"2022-05-24T17:17:23Z","modified":"2024-09-27T21:33:08.561033Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"},{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-311","CWE-347"],"updated_at":"2026-11-02T15:46:56.281047Z"},{"id":"RHSA-2020:2732","title":"Red Hat Security Advisory: openstack-keystone security update","status":"published","published":"2024-09-13T22:04:35Z","modified":"2026-08-05T10:07:24Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:07.072948Z"},{"id":"RHSA-2020:3102","title":"Red Hat Security Advisory: openstack-keystone security update","status":"published","published":"2024-09-14T00:40:45Z","modified":"2026-08-05T10:07:29Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:07.072948Z"},{"id":"RHSA-2020:3105","title":"Red Hat Security Advisory: openstack-keystone security update","status":"published","published":"2024-09-14T00:39:46Z","modified":"2026-08-05T10:07:29Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:07.072948Z"},{"id":"UBUNTU-CVE-2020-12692","description":"An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. The EC2 API doesn't have a signature TTL check for AWS Signature V4. An attacker can sniff the Authorization header, and then use it to reissue an OpenStack token an unlimited number of times.","status":"published","published":"2020-05-07T00:15:00Z","modified":"2026-09-30T18:21:20.513649396Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:54:22.804634Z"},{"id":"DSA-4679-1","title":"keystone - security update","status":"published","published":"2020-05-06T00:00:00Z","modified":"2026-03-09T02:11:31.521455Z","updated_at":"2026-11-02T15:46:17.19998Z"},{"id":"PYSEC-2020-56","description":"An issue was discovered in OpenStack Keystone before 15.0.1, and 16.0.0. The EC2 API doesn't have a signature TTL check for AWS Signature V4. An attacker can sniff the Authorization header, and then use it to reissue an OpenStack token an unlimited number of times.","status":"published","published":"2020-05-07T00:15:00Z","modified":"2026-06-10T17:01:03.770592376Z","updated_at":"2026-11-02T15:52:52.682031Z"},{"id":"USN-4480-1","title":"keystone vulnerabilities","description":"It was discovered that OpenStack Keystone incorrectly handled EC2\ncredentials. An authenticated attacker with a limited scope could possibly\ncreate EC2 credentials with escalated permissions. (CVE-2020-12689,\nCVE-2020-12691)\n\nIt was discovered that OpenStack Keystone incorrectly handled the list of\nroles provided with OAuth1 access tokens. An authenticated user could\npossibly end up with more role assignments than intended. (CVE-2020-12690)\n\nIt was discovered that OpenStack Keystone incorrectly handled EC2 signature\nTTL checks. A remote attacker could possibly use this issue to reuse\nAuthorization headers. (CVE-2020-12692)\n","status":"published","published":"2020-09-01T11:10:10Z","modified":"2026-04-27T15:41:00.305551Z","updated_at":"2026-11-02T16:58:14.547547Z"}]}}
