{"id":"GHSA-7hp6-4w63-5g45","summary":"LiteLLM: Privilege Escalation to Proxy Admin via Cross-Domain Reuse of the Salt Key","details":"### Summary\n\nAn authenticated user with `internal_user` privileges can escalate to `proxy_admin` and achieve remote code execution. The proxy uses one encryption key for two purposes: sealing secrets at rest and minting session tokens. An attacker exploits this by requesting a new API key with a crafted metadata field containing a forged admin credential as the \"secret\" value. The proxy encrypts and returns this payload. When this value is then presented as a bearer token, the proxy decrypts it, trusts the forged admin identity, and grants full administrative access, including the ability to execute arbitrary commands via the MCP stdio endpoint.\n\n### Affected versions\n\nVersions later than 1.91.0 are exploitable in the default configuration. Versions 1.87.0 through 1.90.x are exploitable only if `EXPERIMENTAL_UI_LOGIN=true` was explicitly set.\n\n### Mitigation\n\nUpgrade to a patched version as soon as possible.\n\nIf you cannot upgrade immediately, set `EXPERIMENTAL_UI_LOGIN=false`. This disables the vulnerable authentication path but also breaks CLI SSO and Claude Code gateway login.\n\n### Impact\n\nAn internal user can escalate to proxy admin and execute arbitrary commands on the host.\n\n**Discovery Credit:** Hoa X. Nguyen (OPSWAT Unit 515)","aliases":["CVE-2026-114612"],"modified":"2026-10-27T15:15:08.260681544Z","published":"2026-10-27T15:04:14Z","database_specific":{"github_reviewed_at":"2026-10-27T15:04:14Z","nvd_published_at":"2026-10-22T19:17:37Z","cwe_ids":["CWE-269","CWE-345","CWE-441"],"severity":"HIGH","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/BerriAI/litellm/security/advisories/GHSA-7hp6-4w63-5g45"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114612"},{"type":"WEB","url":"https://github.com/BerriAI/litellm/commit/1d5fdc87fed66b49e1df8cf7d708ad93249eb7d0"},{"type":"WEB","url":"https://github.com/BerriAI/litellm/commit/9161d7f9d6073603ba61ee4aa5e2c0ef5b37a81b"},{"type":"WEB","url":"https://github.com/BerriAI/litellm/commit/9fa1a641119dd0d4fe43e93622eae5f482ceb63f"},{"type":"WEB","url":"https://github.com/BerriAI/litellm/commit/a80eacacee118fbed54e3d98f239d17a63fac818"},{"type":"WEB","url":"https://github.com/BerriAI/litellm/commit/f7cd90f09e9716652b38daec9f0640cdf49d582b"},{"type":"PACKAGE","url":"https://github.com/BerriAI/litellm"},{"type":"WEB","url":"https://github.com/BerriAI/litellm/releases/tag/v1.100.4"},{"type":"WEB","url":"https://github.com/BerriAI/litellm/releases/tag/v1.101.3"},{"type":"WEB","url":"https://github.com/BerriAI/litellm/releases/tag/v1.102.2"},{"type":"WEB","url":"https://github.com/BerriAI/litellm/releases/tag/v1.103.1"},{"type":"WEB","url":"https://github.com/BerriAI/litellm/releases/tag/v1.104.0-rc.2"}],"affected":[{"package":{"name":"litellm","ecosystem":"PyPI","purl":"pkg:pypi/litellm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.91.0"},{"fixed":"1.100.4"}]}],"versions":["1.100.0","1.100.0.dev1","1.100.0.dev2","1.100.0rc1","1.100.1","1.100.2","1.100.3","1.91.0","1.91.1","1.91.2","1.91.3","1.91.4","1.91.5","1.92.0","1.92.0.dev1","1.92.0.dev2","1.92.0rc1","1.92.0rc2","1.92.1","1.92.2","1.93.0","1.93.0.dev1","1.93.0.dev2","1.93.0.dev3","1.93.0rc1","1.93.0rc2","1.93.1","1.93.2","1.94.0","1.94.0.dev3","1.94.0rc1","1.94.0rc2","1.94.0rc3","1.94.1","1.94.2","1.94.3","1.95.0","1.95.0.dev3","1.95.0rc1","1.95.0rc2","1.95.0rc3","1.95.1","1.96.0","1.96.0.dev2","1.96.0rc1","1.96.2","1.97.0","1.97.0.dev1","1.97.0rc1","1.98.0","1.98.0.dev1","1.98.0.dev2","1.98.0rc1","1.98.1","1.99.0","1.99.0.dev1","1.99.0.dev2","1.99.0rc1","1.99.0rc2","1.99.2","1.99.3","1.99.4"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-7hp6-4w63-5g45/GHSA-7hp6-4w63-5g45.json"}},{"package":{"name":"litellm","ecosystem":"PyPI","purl":"pkg:pypi/litellm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.101.0"},{"fixed":"1.101.3"}]}],"versions":["1.101.0","1.101.1","1.101.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-7hp6-4w63-5g45/GHSA-7hp6-4w63-5g45.json"}},{"package":{"name":"litellm","ecosystem":"PyPI","purl":"pkg:pypi/litellm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.102.0"},{"fixed":"1.102.2"}]}],"versions":["1.102.0","1.102.1"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-7hp6-4w63-5g45/GHSA-7hp6-4w63-5g45.json"}},{"package":{"name":"litellm","ecosystem":"PyPI","purl":"pkg:pypi/litellm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.103.0"},{"fixed":"1.103.1"}]}],"versions":["1.103.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-7hp6-4w63-5g45/GHSA-7hp6-4w63-5g45.json"}},{"package":{"name":"litellm","ecosystem":"PyPI","purl":"pkg:pypi/litellm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.104.0rc1"},{"fixed":"1.104.0rc2"}]}],"versions":["1.104.0rc1"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-7hp6-4w63-5g45/GHSA-7hp6-4w63-5g45.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}]}