6.5 MEDIUM
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): Low (L)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): High (H)
- Integrity (I): None (N)
- Availability (A): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): Low (L)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): High (H)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): None (N)
- Modified Availability (MA): None (N)
by @LeSuisse Activity log
- Created suggestion
-
@LeSuisse
ignored
2 packages
- python313Packages.unclecode-litellm
- python314Packages.unclecode-litellm
- @LeSuisse accepted
- @LeSuisse published on GitHub
LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters
LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. Prior to versions 1.88.6 and 1.96.2, any authenticated LiteLLM proxy user could redirect an outbound provider call to a destination the user controls and cause the proxy to send its configured provider credentials to that destination. Request validation in litellm/proxy/auth/auth_utils.py, litellm/proxy/common_request_processing.py, litellm/proxy/health_endpoints/_health_endpoints.py, litellm/proxy/image_endpoints/endpoints.py, and litellm/proxy/litellm_pre_call_utils.py used incomplete checks that did not cover every sensitive parameter or inspect equivalent values across nested request fields, path values, and bracket-notation form data. Routing and credential parameters including api_base, base_url, model_list, fallbacks, and litellm_credential_name could therefore be applied without clearing the operator's stored key, exposing upstream provider credentials and other configured secrets and permitting server-side requests to internal services reachable by the proxy. This issue is fixed in versions 1.88.6 and 1.96.2.
References
-
https://github.com/BerriAI/litellm/security/advisories/GHSA-3cv6-jpf6-8222 x_refsource_CONFIRM
-
https://github.com/BerriAI/litellm/pull/36011 x_refsource_MISC
-
https://github.com/BerriAI/litellm/pull/36314 x_refsource_MISC
-
https://github.com/BerriAI/litellm/pull/36494 x_refsource_MISC
-
https://github.com/BerriAI/litellm/releases/tag/v1.88.6 x_refsource_MISC
-
https://github.com/BerriAI/litellm/releases/tag/v1.96.2 x_refsource_MISC
Affected products
- ==>= 1.89.0, < 1.96.2
- ==< 1.88.6
Matching in nixpkgs
pkgs.litellm
Use any LLM as a drop in replacement for gpt-3.5-turbo. Use Azure, OpenAI, Cohere, Anthropic, Ollama, VLLM, Sagemaker, HuggingFace, Replicate (100+ LLMs)
pkgs.python313Packages.litellm
Use any LLM as a drop in replacement for gpt-3.5-turbo. Use Azure, OpenAI, Cohere, Anthropic, Ollama, VLLM, Sagemaker, HuggingFace, Replicate (100+ LLMs)
pkgs.python314Packages.litellm
Use any LLM as a drop in replacement for gpt-3.5-turbo. Use Azure, OpenAI, Cohere, Anthropic, Ollama, VLLM, Sagemaker, HuggingFace, Replicate (100+ LLMs)
Ignored packages (2)
pkgs.python313Packages.unclecode-litellm
Pre-compromise fork of litellm to interface with LLM API providers
-
nixos-unstable -
- nixos-unstable-small 1.81.13
pkgs.python314Packages.unclecode-litellm
Pre-compromise fork of litellm to interface with LLM API providers
-
nixos-unstable -
- nixos-unstable-small 1.81.13
Package maintainers
-
@happysalada Raphael Megzari <raphael@megzari.com>