Skip to main content

LiteLLM Proxy EUVDEUVD-2026-80986

| CVE-2026-59823 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-09-16 GitHub_M GHSA-hx8v-g79f-8w5f
5.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain valid LiteLLM virtual key
  2. Delivery
    Craft request with api_base nested in user_config
  3. Exploit
    Bypass is_request_body_safe top-level filter
  4. Execution
    Proxy builds router and sends server-side request
  5. Impact
    Reach 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

LiteLLM < 1.83.9

Affected Packages

pypi litellm fix: 1.83.9

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

Vendor (GitHub_M) PRIMARY 5.3 MEDIUM
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
vuln.today AI 5.0 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Sep 16, 2026 - 20:18 EUVD

DescriptionCVE.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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 2 pypi packages depend on litellm (2 direct, 0 indirect)

Ecosystem-wide dependent count for version 1.83.9.

Threat Intelligence Overview

EPSS Score
0.4%
Top 62% exploitable
Prevalence
Medium
popular open-source LLM proxy/gateway, scoped to AI-infrastructure deployments
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

CVE-2026-42271 HIGH POC
8.7 May 08

Remote command execution in LiteLLM proxy server versions 1.74.2 through 1.83.6 allows any authenticated user to execute

CVE-2026-42208 CRITICAL POC
9.3 May 08

SQL injection in LiteLLM proxy server versions 1.81.16 through 1.83.6 allows unauthenticated remote attackers to read an

CVE-2026-59822 HIGH POC
8.8 Jul 08

Authentication bypass in LiteLLM (BerriAI) proxy/AI Gateway before 1.84.0 lets a remote unauthenticated attacker reach M

CVE-2024-2952 CRITICAL POC
9.8 Apr 10

BerriAI/litellm is vulnerable to Server-Side Template Injection (SSTI) via the `/completions` endpoint. Rated critical s

CVE-2026-40217 HIGH POC
8.8 Apr 10

Remote code execution in BerriAI LiteLLM (all versions through 2026-04-08) enables authenticated attackers to execute ar

CVE-2024-4888 HIGH POC
8.1 Jun 06

BerriAI's litellm, in its latest version, is vulnerable to arbitrary file deletion due to improper input validation on t

CVE-2026-93355 HIGH POC
7.6 Sep 28

Authentication bypass in the LiteLLM proxy lets any party who already holds a valid JWT issued by the configured externa

CVE-2025-0330 HIGH POC
7.5 Mar 20

In berriai/litellm version v1.52.1, an issue in proxy_server.py causes the leakage of Langfuse API keys when an error oc

CVE-2024-9606 HIGH POC
7.5 Mar 20

In berriai/litellm before version 1.44.12, the `litellm/litellm_core_utils/litellm_logging.py` file contains a vulnerabi

CVE-2024-6587 HIGH POC
7.5 Sep 13

A Server-Side Request Forgery (SSRF) vulnerability exists in berriai/litellm version 1.38.10. Rated high severity (CVSS

CVE-2024-5225 HIGH POC
7.2 Jun 06

An SQL Injection vulnerability exists in the berriai/litellm repository, specifically within the `/global/spend/logs` en

CVE-2024-4889 HIGH POC
7.2 Jun 06

A code injection vulnerability exists in the berriai/litellm application, version 1.34.6, due to the use of unvalidated

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy