Description
LiteLLM prior to 1.83.10 allows a user to modify their own user_role via the /user/update endpoint. While the endpoint correctly restricts users to updating only their own account, it does not restrict which fields may be changed. A user who can reach this endpoint can set their role to proxy_admin, gaining full administrative access to LiteLLM including all users, teams, keys, models, and prompt history. Users with the org_admin role have legitimate access to this endpoint and can exploit this vulnerability without chaining any additional flaw.
Problem types
Product status
Any version before 1.83.10
Credits
Fenix Qiao (aka 13ph03nix) from Obsidian Security
References
gist.github.com/13ph03nix/9ec616e1fdc77b3673509c60206e827f
huntr.com/bounties/8e75edfb-ff05-4e63-bfca-2d93d03fb3b9
github.com/BerriAI/litellm/releases/tag/v1.83.10-stable
github.com/BerriAI/litellm/pull/25541
github.com/...ommit/e6f18ce75b111c9b93dc15c72894cbdeb53177ce
github.com/...ommit/128d32d2494b759c5d15da3452452af4c6a34c01
www.vulncheck.com/...lm-privilege-escalation-via-user-update