fix: check permission to update username (#20139)

This commit is contained in:
Marcin Tojek
2025-10-02 15:07:49 +02:00
committed by GitHub
parent d63bb2ce2f
commit d93629bcde
2 changed files with 67 additions and 6 deletions
+8
View File
@@ -753,6 +753,14 @@ func (api *API) putUserProfile(rw http.ResponseWriter, r *http.Request) {
if !httpapi.Read(ctx, rw, r, &params) {
return
}
// If caller wants to update user's username, they need "update_users" permission.
// This is restricted to user admins only.
if params.Username != user.Username && !api.Authorize(r, policy.ActionUpdate, user) {
httpapi.ResourceNotFound(rw)
return
}
existentUser, err := api.Database.GetUserByEmailOrUsername(ctx, database.GetUserByEmailOrUsernameParams{
Username: params.Username,
})