berriai/litellm · Security
LiteLLM allows an authenticated internal_user to create API keys with access to routes that their role does not permit
- GHSA ID
- GHSA-qrc4-49gv-mv9m
- CVE ID
- CVE-2026-47101
- Severity
- high
- Published
- Updated
- CVSS
- 8.8 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CVSS v3
- 8.8 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CVSS v4
- 8.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Description
LiteLLM prior to 1.83.14 allows an authenticated internal_user to create API keys with access to routes that their role does not permit. When generating a key, the allowed_routes field is stored without verifying that the specified routes fall within the user's own permissions. A key created with access to admin-only routes can then be used to reach those routes successfully, bypassing the role-based access controls that would otherwise block the request, enabling full privilege escalation from internal_user to proxy_admin.
CWEs
- CWE-863 · Incorrect Authorization
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-47101 ↗
- https://github.com/BerriAI/litellm/commit/2220f3076ac89bd2a2e3439acf57dcfbec2434c9 ↗
- https://github.com/BerriAI/litellm/commit/5190bd07eb23a037745d86328096f54378f1614a ↗
- https://github.com/BerriAI/litellm/commit/d910a95661fce3cdd36f3b06c03ecf9c46c6457c ↗
- https://gist.github.com/13ph03nix/9ec616e1fdc77b3673509c60206e827f ↗
- https://github.com/BerriAI/litellm/releases/tag/v1.83.14-stable ↗
- https://huntr.com/bounties/8e75edfb-ff05-4e63-bfca-2d93d03fb3b9 ↗
- https://www.vulncheck.com/advisories/litellm-privilege-escalation-via-api-key-generation ↗
- https://www.obsidiansecurity.com/blog/litellm-privilege-escalation-rce ↗
- https://github.com/advisories/GHSA-qrc4-49gv-mv9m ↗