Skip to main content

BerriAI LiteLLM CVE-2026-108574

| EUVDEUVD-2026-96884 LOW
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-11 VulDB GHSA-wxjw-vcvf-mvw9
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid low-privilege API key
  2. Delivery
    Call ui_view_session_spend_logs endpoint
  3. Exploit
    Substitute another tenant's session_id
  4. Execution
    Bypass authorization check (CWE-639)
  5. Impact
    Read unauthorized spend logs

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Exploitation requires the attacker to already hold a valid low-privilege LiteLLM credential (PR:L) that can reach the Spend Tracking UI endpoint ui_view_session_spend_logs; it is a user-controlled-key IDOR where the attacker supplies another party's session_id to retrieve that session's spend logs. Limiting factors: authentication is mandatory (no anonymous access), the impact is confined to reading spend/usage data (confidentiality only - no modification or service disruption), and real-world risk is materially higher only in multi-tenant deployments where separate users or teams share one proxy and tenant isolation matters. Single-tenant or trusted-internal LiteLLM proxies face minimal practical exposure. Affected versions are BerriAI LiteLLM up to and including 1.95.0; upgrading to 1.96.0 removes the flaw.

Impact

This is a moderate, real-but-not-urgent issue. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N) and score of 5.3 describe a network-reachable, low-complexity authorization bypass (IDOR, CWE-639) that still requires an authenticated low-privilege caller (PR:L) and yields only low confidentiality impact with no integrity or availability effect. The vendor-supplied vector includes E:P (proof-of-concept), consistent with the description stating the exploit has been published, so publicly available exploit code exists. However, the vulnerability is NOT in CISA KEV and no EPSS score was provided in the input, so there is no evidence of active, widespread exploitation - the signals point to opportunistic abuse by an already-authenticated tenant rather than mass internet exploitation. The PR:L requirement meaningfully reduces priority versus an unauthenticated flaw. One caveat to verify: the description names the vulnerable function ui_view_session_spend_logs manipulating session_id, but the provided patch diff primarily adds hardened /spend/report scope-resolution helpers (_resolve_spend_report_scope) and parameterized SQL - the diff excerpt does not directly display the ui_view_session_spend_logs fix, so the exact code path should be confirmed against the full commit. Overall: a legitimate priority for multi-tenant LiteLLM proxy operators where tenant data isolation matters, but low-to-medium priority for single-tenant or internal-only deployments.

Exploit ScenarioDerived

An authenticated low-privilege LiteLLM user holding a valid but limited API key calls the spend-tracking UI endpoint and substitutes another tenant's session_id, causing the proxy to return spend logs belonging to a session the caller is not authorized to view. Because published exploit code exists and the attack is remote with low complexity, a malicious tenant can iterate session_id values to harvest other users' usage and cost data. No user interaction or elevated privileges are needed beyond holding any valid key.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 11, 2026

An authenticated authorization bypass (IDOR) in BerriAI LiteLLM up to and including 1.95.0 allows a low-privileged user holding any valid proxy API key to read spend and usage logs belonging to other users, keys, or teams by supplying a foreign session_id to the Spend Tracking UI endpoint ui_view_session_spend_logs. Exploitation requires a valid credential (CVSS PR:L) but no user interaction, and the impact is limited to confidentiality - an attacker can view another tenant's token counts and cost data but cannot modify records or disrupt service. Publicly available exploit code exists (the CVSS 4.0 vector carries E:P and VulDB reports a published exploit), but there is no confirmed active exploitation (CISA KEV); the realistic risk is materially higher in multi-tenant or shared-proxy deployments where tenant isolation matters, and low in single-tenant or trusted-internal installations. Vendor-released patch: v1.96.0.

RemediationAI

Upgrade to BerriAI LiteLLM 1.96.0, the vendor-released patch that resolves this issue; the corresponding source fix is commit 722d9ffa4f6c5ae15702ab9ab2c5f6bf1688308b and the release is published at https://github.com/BerriAI/litellm/releases/tag/v1.96.0 (advisory context at https://vuldb.com/vuln/416231). Until the upgrade can be staged, the most effective compensating control is to remove the attack surface: restrict network access to the LiteLLM proxy's Spend Tracking UI and management routes so that only trusted administrative networks or an authenticating reverse proxy can reach them, accepting the trade-off that legitimate tenants lose self-service spend visibility. If per-tenant spend viewing is required, front the proxy with a layer that enforces object-level authorization on session_id - or issue strictly scoped API keys per tenant and segregate high-value tenants onto separate proxy instances/databases - though this adds operational overhead and does not fix the underlying IDOR. Because the endpoint is gated to premium_user == True, non-enterprise deployments can also reduce exposure by confirming the feature is not enabled, and administrators should audit LiteLLM_SpendLogs access logs for requests enumerating session_id values that do not belong to the requesting key as a detection and scoping measure. Rotating or restricting the low-privilege keys that can reach this endpoint limits an attacker's ability to trigger the flaw, since authentication is mandatory for exploitation.

Affected VersionsENISA

LiteLLM 1.61
LiteLLM 1.63
LiteLLM 1.88
LiteLLM 1.53
LiteLLM 1.21
LiteLLM 1.55
LiteLLM 1.70
LiteLLM 1.16
LiteLLM 1.32
LiteLLM 1.11
LiteLLM 1.67
LiteLLM 1.44
LiteLLM 1.46
LiteLLM 1.81
LiteLLM 1.93
LiteLLM 1.49
LiteLLM 1.3
LiteLLM 1.64
LiteLLM 1.22
LiteLLM 1.38
LiteLLM 1.12
LiteLLM 1.36
LiteLLM 1.82
LiteLLM 1.54
LiteLLM 1.14
LiteLLM 1.24
LiteLLM 1.58
LiteLLM 1.50
LiteLLM 1.92
LiteLLM 1.95.0
LiteLLM 1.91
LiteLLM 1.73
LiteLLM 1.0
LiteLLM 1.86
LiteLLM 1.20
LiteLLM 1.26
LiteLLM 1.18
LiteLLM 1.42
LiteLLM 1.37
LiteLLM 1.27
LiteLLM 1.15
LiteLLM 1.25
LiteLLM 1.80
LiteLLM 1.85
LiteLLM 1.62
LiteLLM 1.74
LiteLLM 1.77
LiteLLM 1.59
LiteLLM 1.17
LiteLLM 1.65
LiteLLM 1.1
LiteLLM 1.51
LiteLLM 1.7
LiteLLM 1.76
LiteLLM 1.90
LiteLLM 1.5
LiteLLM 1.8
LiteLLM 1.34
LiteLLM 1.45
LiteLLM 1.13
LiteLLM 1.23
LiteLLM 1.31
LiteLLM 1.56
LiteLLM 1.60
LiteLLM 1.87
LiteLLM 1.52
LiteLLM 1.35
LiteLLM 1.47
LiteLLM 1.9
LiteLLM 1.75
LiteLLM 1.33
LiteLLM 1.29
LiteLLM 1.40
LiteLLM 1.71
LiteLLM 1.43
LiteLLM 1.6
LiteLLM 1.57
LiteLLM 1.41
LiteLLM 1.79
LiteLLM 1.94
LiteLLM 1.2
LiteLLM 1.72
LiteLLM 1.69
LiteLLM 1.83
LiteLLM 1.39
LiteLLM 1.68
LiteLLM 1.30
LiteLLM 1.28
LiteLLM 1.10
LiteLLM 1.66
LiteLLM 1.78
LiteLLM 1.19
LiteLLM 1.84
LiteLLM 1.4
LiteLLM 1.48
LiteLLM 1.89

Affected Packages

euvd litellm no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is a classic CWE-639 authorization bypass through a user-controlled key, rooted in the Spend Tracking subsystem of the LiteLLM proxy (litellm/proxy/spend_tracking/spend_management_endpoints.py). The endpoint ui_view_session_spend_logs accepts a caller-supplied session_id and uses it to look up spend records without confirming that the requesting principal is entitled to that session, so the identifier itself effectively becomes an authorization token. LiteLLM is an OpenAI-compatible LLM gateway/proxy that centralizes API keys, teams, organizations, and per-request cost accounting, and its spend-tracking tables (LiteLLM_SpendLogs) aggregate cost, prompt-token, and completion-token data - information that in a multi-tenant deployment is sensitive from a business and capacity-planning standpoint. The patch commit 722d9ffa4f6c5ae15702ab9ab2c5f6bf1688308b is instructive: it adds the /key, /user, /team, and /organization spend-report routes to LiteLLMRoutes and introduces hardened helpers - a _SPEND_REPORT_SCOPE_COLUMNS allowlist that forbids interpolating caller input into SQL scope columns, parameter-bound scope values ($3), and a _resolve_spend_report_scope() routine that derives the permissible scope from the authenticated user_api_key_dict rather than trusting the request. That code evidence confirms the root cause is a missing ownership/scope check on a client-supplied identifier rather than a memory-safety or injection defect. The same code shows these spend-report endpoints are gated behind a premium_user == True check, meaning the affected functionality is primarily present in enterprise/paid LiteLLM deployments.

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 (VulDB) PRIMARY 2.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
vuln.today AI 4.3 MEDIUM

Remote, low-complexity IDOR requiring any valid low-privilege key (PR:L, AV:N, AC:L); leaks only spend-log data so C:L with I:N/A:N and unchanged scope.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/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:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

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
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Severity Changed
Oct 11, 2026 - 12:22 NVD
MEDIUM LOW
CVSS changed
Oct 11, 2026 - 12:22 NVD
5.3 (MEDIUM) 2.1 (LOW)

DescriptionCVE.org

A flaw has been found in BerriAI LiteLLM up to 1.95.0. Affected by this issue is the function ui_view_session_spend_logs of the file litellm/proxy/spend_tracking/spend_management_endpoints.py of the component Spend Tracking. Executing a manipulation of the argument session_id can lead to authorization bypass. It is possible to launch the attack remotely. The exploit has been published and may be used. Upgrading to version 1.96.0 can resolve this issue. This patch is called 722d9ffa4f6c5ae15702ab9ab2c5f6bf1688308b. The affected component should be upgraded.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
popular open-source LLM proxy/gateway, common in AI deployments but not universal
Data Quality
7 sources
Confidence: High

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 LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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