The vulnerability lies in the application credential authentication process within OpenStack Keystone. The core issue is a failure to properly validate the user identity provided during authentication. The keystone.auth.plugins.core.AppCredInfo._validate_and_normalize_auth_data function was responsible for preparing authentication data. It contained a flaw where it would trust a user object if supplied in the authentication request body (auth_payload). An attacker could exploit this by providing their own valid application credential but including the user ID of a victim in the request. Keystone would then incorrectly issue a token for the victim, but scoped to the attacker's project and roles. This allowed for impersonation, audit evasion, and potential privilege escalation. The fix, identified in commit b4f1eb1f13a7559f771b0f4d46c4c59917e82f01, removes the conditional check and ensures that the user ID is always taken from the application credential itself, effectively ignoring any user information supplied in the request and preventing the impersonation.