The vulnerability allowed for privilege escalation because the endpoints for creating and updating OAuth clients did not validate if the requesting user had the authority to assign the specified scopes. The analysis of the patch commit 2ffd125e1089a09b84c27fb5279a05960cbf2452 clearly shows the addition of a security check in two key functions within src/fides/api/api/v1/endpoints/oauth_endpoints.py.
The create_client and set_client_scopes functions were modified to include a call to the new verify_client_can_assign_scopes utility function. This new function, added in src/fides/api/oauth/utils.py, checks if the scopes being assigned are a subset of the scopes possessed by the requesting client's token. Before this fix, these functions only validated that the scopes existed in the system's scope registry, but not that the user was authorized to grant them. This allowed a user with basic client management permissions (client:create or client:update) to create or modify a client and assign it owner-level scopes, thereby gaining unauthorized access to administrative functionalities. The vulnerable functions are the entry points for this privilege escalation vector, and their modification is direct evidence of the vulnerability's location.