Improper Authenticationlitellm is a Library to easily interface with LLM API providers
Affected versions of this package are vulnerable to Improper Authentication via the UI/CLI session token encryption context in encrypt_value_helper (now encrypt_bearer_token) within litellm/proxy/common_utils/encrypt_decrypt_utils.py. Session tokens issued for the dashboard and CLI SSO flows are encrypted without a binding AES-GCM additional authenticated data (AAD) context, allowing an attacker who obtains a session token issued for one context (e.g. CLI) to replay it in another context (e.g. UI), bypassing the intended authentication boundary and gaining unauthorized access with the privileges of the original token holder. The fix binds UI and CLI session tokens to their own AES-GCM context by introducing a dedicated prefix as AAD, so tokens are cryptographically scoped and cannot be cross-replayed.
Note: Versions 1.87.0 through 1.90.x are only exploitable if EXPERIMENTAL_UI_LOGIN=true is explicitly set; versions 1.91.0 and later are exploitable in the default configuration.
How to fix Improper Authentication? Upgrade litellm to version 1.100.4, 1.101.3, 1.102.2, 1.103.1, 1.104.0rc2 or higher.
| [1.91.0,1.100.4)[1.101.0,1.101.3)[1.102.0,1.102.2)[1.103.0,1.103.1)[1.104.0rc1,1.104.0rc2) |
Authorization Bypass Through User-Controlled Keylitellm is a Library to easily interface with LLM API providers
Affected versions of this package are vulnerable to Authorization Bypass Through User-Controlled Key in the add_new_model and can_user_make_team_model_call functions in model_management_endpoints.py, which authorize the caller by role alone and never inspect the values supplied in litellm_params. A user with team administrator access can read any environment variable of the proxy process, including the proxy master key, by registering a model whose api_key is an os.environ/<NAME> reference and whose api_base points to a host they control, then invoking it so that get_secret resolves the variable and _resolve_db_litellm_param sends it to that host as the outbound Authorization header. This requires STORE_MODEL_IN_DB to be enabled and an enterprise license, which is what makes the team administrator role available.
Note: A fix is unlikely. In https://github.com/BerriAI/litellm/commit/5862be3e79154ce5ac8a736c77c7c3614fac40fb, project maintainers removed the field whitelist and the team-scope short-circuit in _resolve_db_litellm_param deliberately, describing universal os.environ/ resolution for team-scoped rows as an intended threat-model expansion that trusts team administrators to read environment variables, and placing the trust boundary on who the deployment grants team administrator rather than on what those administrators may reference.
How to fix Authorization Bypass Through User-Controlled Key? There is no fixed version for litellm.
| |
Weak Authenticationlitellm is a Library to easily interface with LLM API providers
Affected versions of this package are vulnerable to Weak Authentication via the JWT authentication flow's email-based fallback lookup, which does not verify the email_verified claim before resolving a user identity. An attacker holding a valid JWT from the configured identity provider can present a token containing an unverified email address that matches a victim's account, causing the system to authenticate the attacker as that victim and inherit their role, including proxy_admin privileges. This also permanently overwrites the victim's stored identity binding, granting the attacker persistent unauthorized access to administrative endpoints that expose API keys and user management functions.
How to fix Weak Authentication? There is no fixed version for litellm.
| |
Insufficient Session Expirationlitellm is a Library to easily interface with LLM API providers
Affected versions of this package are vulnerable to Insufficient Session Expiration in the get_redirect_response_from_openid() function of the SSO Authentication Flow process. An attacker can cause premature session termination by manipulating authentication responses remotely, potentially leading to unauthorized session expiration and disruption of user access.
How to fix Insufficient Session Expiration? There is no fixed version for litellm.
| |
Missing Authentication for Critical Functionlitellm is a Library to easily interface with LLM API providers
Affected versions of this package are vulnerable to Missing Authentication for Critical Function in the /sso/debug/login and /sso/debug/callback endpoints in the SSO Debug Flow. An attacker can gain unauthorized access and potentially manipulate sensitive information by sending crafted requests to the affected endpoint.
How to fix Missing Authentication for Critical Function? There is no fixed version for litellm.
| |
Incorrect Authorizationlitellm is a Library to easily interface with LLM API providers
Affected versions of this package are vulnerable to Incorrect Authorization in the user_api_key_auth.py file of the M2M JWT Handler. An attacker can gain unauthorized access to resources by exploiting insufficient authorization checks.
Note: This is only exploitable if the attacker possesses valid but limited credentials and can craft specific JWTs to bypass intended access controls.
How to fix Incorrect Authorization? There is no fixed version for litellm.
| |
Insufficient Session Expirationlitellm is a Library to easily interface with LLM API providers
Affected versions of this package are vulnerable to Insufficient Session Expiration in the authenticate_user function. An attacker can gain unauthorized access or maintain access to sensitive information by exploiting session management flaws.
How to fix Insufficient Session Expiration? There is no fixed version for litellm.
| |