PYSEC-2026-4066

LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters

At a glance

Published
Updated
CVE
CVE-2026-84377
Aliases
GHSA-3cv6-jpf6-8222
CVSS_V3
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Description

### Impact Any authenticated LiteLLM proxy user could redirect an outbound provider call to a destination they control and cause the proxy to send its own configured provider credentials to that destination. The proxy's request-body validation was a denylist that did not cover every sensitive parameter and did not inspect parameters nested inside other request fields, so a caller could supply a routing or credential value that the proxy applied without clearing the operator's stored key. Any authenticated user could therefore exfiltrate the operator's upstream provider credentials and other configured secrets, and perform Server-Side Request Forgery against internal services reachable from the proxy. ### Patches Fixed in 1.96.2, 1.95.1, 1.94.3, 1.93.2, 1.92.2, 1.91.5, 1.90.7, 1.89.7, and 1.88.6. ### Workarounds Set `general_settings.allow_client_side_credentials` to `false` so callers cannot override connection parameters, restrict proxy keys to trusted callers, and block the affected parameters (`api_base`, `base_url`, `model_list`, `fallbacks`, provider credential fields) at a reverse proxy or API gateway.

Affected packages

PackageVersions
PyPI · litellmintroduced 0, fixed 1.88.6, introduced 1.89.0, fixed 1.89.7, introduced 1.90.0, fixed 1.90.7, introduced 1.91.0, fixed 1.91.5, introduced 1.92.0, fixed 1.92.2, introduced 1.93.0, fixed 1.93.2, introduced 1.94.0, fixed 1.94.3, introduced 1.95.0, fixed 1.95.1, introduced 1.96.0, fixed 1.96.2

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — PyPA Advisory Database