An issue was discovered in OpenStack Keystone before 29.0.2. POST /v3/credentials did not validate that the caller-supplied projectid 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 appcred_id, enabling cross-project lateral movement within the credential owner's role footprint.
{
"unresolved_ranges": [
{
"source": "AFFECTED_FIELD",
"extracted_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"
}
]
},
{
"source": "CPE_FIELD",
"extracted_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"
}
]
},
{
"source": "DESCRIPTION",
"extracted_events": [
{
"fixed": "29.0.2"
}
]
}
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43001.json",
"cna_assigner": "mitre",
"cwe_ids": [
"CWE-863"
]
}{
"source": "CPE_RANGE",
"cpe": "cpe:2.3:a:openstack:keystone:*:*:*:*:*:*:*:*",
"extracted_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"
}
]
}