{"id":"PYSEC-2026-602","details":"An issue was discovered in OpenStack Keystone before 29.0.2. POST /v3/credentials did not validate that the caller-supplied project_id for an EC2-type credential matched the project of the authenticating application credential. This allowed an attacker holding an unrestricted application credential for project A to create an EC2 credential targeting project B; a subsequent /v3/ec2tokens exchange would then issue a Keystone token scoped to project B while still carrying the original app_cred_id, enabling cross-project lateral movement within the credential owner's role footprint.","aliases":["CVE-2026-43001","GHSA-hhq2-3832-xxcv"],"modified":"2026-07-02T12:56:15.206675336Z","published":"2026-05-01T09:16:17.273Z","references":[{"type":"WEB","url":"https://access.redhat.com/security/cve/CVE-2026-43001"},{"type":"WEB","url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-43001.json"},{"type":"REPORT","url":"https://bugzilla.redhat.com/show_bug.cgi?id=2464305"},{"type":"FIX","url":"https://bugs.launchpad.net/keystone/+bug/2149775"},{"type":"FIX","url":"https://review.opendev.org/c/openstack/keystone/+/985804"},{"type":"FIX","url":"https://security.openstack.org/ossa/OSSA-2026-015.html"}],"affected":[{"package":{"name":"keystone","ecosystem":"PyPI","purl":"pkg:pypi/keystone"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"14.0.0"},{"fixed":"27.0.2"},{"introduced":"28.0.0"},{"fixed":"28.0.2"},{"introduced":"29.0.0"},{"fixed":"29.0.2"}]}],"versions":["14.0.0","14.0.1","14.1.0","14.2.0","15.0.0","15.0.0.0rc1","15.0.0.0rc2","15.0.1","16.0.0","16.0.0.0rc1","16.0.0.0rc2","16.0.1","16.0.2","17.0.0","17.0.0.0rc1","17.0.0.0rc2","17.0.1","18.0.0","18.0.0.0rc1","18.1.0","19.0.0","19.0.0.0rc1","19.0.0.0rc2","19.0.1","20.0.0","20.0.0.0rc1","20.0.1","21.0.0","21.0.0.0rc1","21.0.1","22.0.0","22.0.0.0rc1","22.0.1","22.0.2","23.0.0","23.0.0.0rc1","23.0.1","23.0.2","24.0.0","24.0.0.0rc1","24.1.0","25.0.0","25.0.0.0rc1","26.0.0","26.0.0.0rc1","26.1.0","26.1.1","27.0.0","27.0.0.0rc1","27.0.1","28.0.0","28.0.1","29.0.0","29.0.1"],"ecosystem_specific":{},"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/keystone/PYSEC-2026-602.yaml"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H"}]}