Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid LiteLLM virtual key
-
DeliveryCraft request with api_base nested in user_config
-
ExploitBypass is_request_body_safe top-level filter
-
ExecutionProxy builds router and sends server-side request
-
ImpactReach attacker-selected internal/external host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated caller holding a valid LiteLLM virtual key (PR:L) against a LiteLLM Proxy earlier than 1.83.9. The specific bypass is placing api_base (or base_url) inside the user_config request-body object instead of at the top level, because pre-1.83.9 is_request_body_safe only inspected and banned those keys at the top level and never examined user_config. No user interaction or non-default configuration toggle is needed beyond the proxy accepting user_config, which drives outbound router construction. Limiting factors: the attacker must already possess a working virtual key, and impact is confined to redirecting/exposing reachable internal or external endpoints (blind SSRF, low confidentiality) rather than full data theft or code execution. |
| Impact | This is a genuine but modest-severity SSRF (CWE-918). The vendor CVSS 4.0 vector (5.3, AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L) is internally consistent with the description: network-reachable, low complexity, but requiring a valid virtual key (PR:L) and yielding only low confidentiality impact with a scope change to a subsequent system (SC:L). No EPSS score, no CISA KEV listing, and no public exploit code were provided, so exploitation status is 'no public exploit identified at time of analysis.' The signals do not conflict - a mid-band CVSS with no exploitation evidence points to a real-but-not-urgent fix-in-cycle issue rather than an emergency. The main real-world risk driver is not raw CVSS but deployment context: any LiteLLM Proxy that issues API keys to semi-trusted tenants exposes its internal network topology to those tenants. Note the impact is confidentiality-oriented and largely blind (endpoint exposure/redirection), not confirmed data exfiltration of internal responses, which is why VI/VA are N. |
| Exploit ScenarioDerived | A tenant holding a valid but low-privilege LiteLLM virtual key crafts a proxy request that embeds api_base inside the user_config object rather than at the top level, evading the is_request_body_safe filter. The proxy then builds its outbound router from user_config and issues a server-side request to an attacker-chosen internal host (e.g., a cloud metadata endpoint or an internal admin service), letting the caller reach endpoints their key should not access. No public exploit code was provided, but the fix commit and PR diff make the bypass mechanics clear. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Server-side request forgery in LiteLLM Proxy versions prior to 1.83.9 lets an authenticated caller holding a valid virtual key redirect the gateway's outbound LLM traffic to an internal or external host of their choosing by placing api_base (or base_url) inside the user_config object of the request body instead of at the top level. Because is_request_body_safe in pre-1.83.9 only banned those keys at the top level and never inspected user_config, and because user_config feeds outbound router construction, the nested destination survives the safety check and reaches endpoints the caller could not otherwise access. The result is blind SSRF with low confidentiality impact against the proxy's network context rather than data theft or code execution; exploitation requires a working virtual key (PR:L, no user interaction), and no public exploit code has been identified at time of analysis.
RemediationAI
Vendor-released patch: LiteLLM 1.83.9, which adds user_config to the banned_params list in is_request_body_safe so nested api_base/base_url overrides are rejected; upgrade to 1.83.9 or later per advisory GHSA-hx8v-g79f-8w5f (https://github.com/BerriAI/litellm/security/advisories/GHSA-hx8v-g79f-8w5f), with the code change visible in PR https://github.com/BerriAI/litellm/pull/25827 and commit https://github.com/BerriAI/litellm/commit/47214be317f45a2d2ac08258362e0481411eb427. If immediate upgrade is not possible, apply compensating controls with their trade-offs: enforce an egress allowlist on the proxy host (firewall or service mesh policy) so outbound LLM traffic can only reach approved provider endpoints, accepting that any legitimate custom api_base usage on that host must be re-permitted explicitly; block or inspect requests containing a user_config object at a reverse proxy or WAF in front of the gateway (e.g., reject bodies with top-level or nested keys matching api_base/base_url), at the cost of breaking clients that legitimately rely on user_config; treat virtual keys as low-trust credentials by scoping them per team and rotating any keys issued to untrusted callers, since possession of a valid key is the only prerequisite; and segment the network so the proxy cannot reach sensitive internal services (metadata endpoints, admin APIs, databases), while monitoring proxy logs for outbound destinations that do not match configured providers - remembering that pre-fix logs do not reliably record the nested user_config destination, so absence of log evidence is not proof of no abuse.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
LiteLLM is an AI Gateway / proxy server that accepts OpenAI-format (or native) requests and forwards them to upstream LLM providers, resolving the destination endpoint from per-request data. Keys such as api_base and base_url normally override the upstream URL, so they are treated as dangerous and blocked from user-supplied request bodies by the is_request_body_safe check in litellm/proxy/auth/auth_utils.py. The flaw is CWE-918 (Server-Side Request Forgery): the filter's banned_params list covered only top-level api_base and base_url, so the same override placed inside the nested user_config object escaped inspection and was then consumed by the proxy's router construction, causing the server to issue requests to a caller-selected internal or external host (the assessed CVSS:3.1 vector AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N reflects a scope change into the proxy's network context with limited confidentiality impact). The upstream fix (PR 25827, commit 47214be317f45a2d2ac08258362e0481411eb427) simply adds "user_config" to banned_params so the nested form is rejected alongside the top-level keys, and the same change set hardens related request-body handling: it strips internal-only keys (proxy_server_request, standard_logging_object, secret_fields) and spoofable user_api_key_* metadata from user input, and replaces the user-settable _is_litellm_internal_call kwarg with a ContextVar in the new litellm/_internal_context.py module so internal-signal state cannot be injected through HTTP bodies. The CPE cpe:2.3:a:berriai:litellm with wildcard version indicates the advisory is scoped to the LiteLLM package as a whole, with fixes landing in 1.83.9.
Know when Litellm gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N
Network-reachable authed abuse of a valid virtual key (PR:L); SSRF crosses into internal systems (S:C) with blind low-confidentiality endpoint exposure only, no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. Prior to 1.83.9, an authenticated LiteLLM Proxy caller with a valid virtual key can place api_base inside the user_config request body to bypass is_request_body_safe, which blocks top-level api_base and base_url but previously did not inspect or reject user_config. Because user_config constructs the outbound router, the nested destination redirects a server-side request to an internal or external host selected by the caller and can expose endpoints the caller cannot otherwise access. This issue is fixed in version 1.83.9.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Remote command execution in LiteLLM proxy server versions 1.74.2 through 1.83.6 allows any authenticated user to execute
SQL injection in LiteLLM proxy server versions 1.81.16 through 1.83.6 allows unauthenticated remote attackers to read an
Authentication bypass in LiteLLM (BerriAI) proxy/AI Gateway before 1.84.0 lets a remote unauthenticated attacker reach M
BerriAI/litellm is vulnerable to Server-Side Template Injection (SSTI) via the `/completions` endpoint. Rated critical s
Remote code execution in BerriAI LiteLLM (all versions through 2026-04-08) enables authenticated attackers to execute ar
BerriAI's litellm, in its latest version, is vulnerable to arbitrary file deletion due to improper input validation on t
Authentication bypass in the LiteLLM proxy lets any party who already holds a valid JWT issued by the configured externa
In berriai/litellm version v1.52.1, an issue in proxy_server.py causes the leakage of Langfuse API keys when an error oc
In berriai/litellm before version 1.44.12, the `litellm/litellm_core_utils/litellm_logging.py` file contains a vulnerabi
A Server-Side Request Forgery (SSRF) vulnerability exists in berriai/litellm version 1.38.10. Rated high severity (CVSS
An SQL Injection vulnerability exists in the berriai/litellm repository, specifically within the `/global/spend/logs` en
A code injection vulnerability exists in the berriai/litellm application, version 1.34.6, due to the use of unvalidated
EUVD-2026-80986
GHSA-hx8v-g79f-8w5f
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB