The vulnerability allows a low-privileged user to escalate their role to administrator level by manipulating the /user/update endpoint. The core of the issue lies in the backend functions that handle user profile updates, which failed to properly authorize changes to the user_role field.
Analysis of the patches in commits e6f18ce75b111c9b93dc15c72894cbdeb53177ce and 128d32d2494b759c5d15da3452452af4c6a34c01 reveals the exact vulnerable functions. The patches introduce explicit checks to ensure that only a user with the PROXY_ADMIN role can modify the user_role attribute. The absence of these checks in the vulnerable versions is what allowed the privilege escalation.
The two functions identified, _update_single_user_helper and bulk_user_update, are the direct points in the code where the vulnerable logic resided. The former handles single user updates (likely for the /user/update endpoint), and the latter handles bulk updates. An exploit would involve sending a crafted request to these endpoints, and these function names would appear in a runtime profile or stack trace during the processing of that malicious request.