CVE-2026-84377
LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters
LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. Prior to versions 1.88.6 and 1.96.2, any authenticated LiteLLM proxy user could redirect an outbound provider call to a destination the user controls and cause the proxy to send its configured provider credentials to that destination. Request validation in litellm/proxy/auth/auth_utils.py, litellm/proxy/common_request_processing.py, litellm/proxy/health_endpoints/_health_endpoints.py, litellm/proxy/image_endpoints/endpoints.py, and litellm/proxy/litellm_pre_call_utils.py used incomplete checks that did not cover every sensitive parameter or inspect equivalent values across nested request fields, path values, and bracket-notation form data. Routing and credential parameters including api_base, base_url, model_list, fallbacks, and litellm_credential_name could therefore be applied without clearing the operator's stored key, exposing upstream provider credentials and other configured secrets and permitting server-side requests to internal services reachable by the proxy. This issue is fixed in versions 1.88.6 and 1.96.2.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.5
LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters
LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. Prior to versions 1.88.6 and 1.96.2, any authenticated LiteLLM proxy user could redirect an outbound provider call to a destination the user controls and cause the proxy to send its configured provider credentials to that destination. Request validation in litellm/proxy/auth/auth_utils.py, litellm/proxy/common_request_processing.py, litellm/proxy/health_endpoints/_health_endpoints.py, litellm/proxy/image_endpoints/endpoints.py, and litellm/proxy/litellm_pre_call_utils.py used incomplete checks that did not cover every sensitive parameter or inspect equivalent values across nested request fields, path values, and bracket-notation form data. Routing and credential parameters including api_base, base_url, model_list, fallbacks, and litellm_credential_name could therefore be applied without clearing the operator's stored key, exposing upstream provider credentials and other configured secrets and permitting server-side requests to internal services reachable by the proxy. This issue is fixed in versions 1.88.6 and 1.96.2.
- Record
CVE-2026-84377- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-918
- Updated
- 2026-11-02
EUVDEUVD-2026-70236
6.5
LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. Prior to versions 1.88.6 and 1.96.2, any authenticated LiteLLM proxy user could redirect an outbound provider call to a destination the user controls and cause the proxy to send its configured provider credentials to that destination. Request validation in litellm/proxy/auth/auth_utils.py, litellm/proxy/common_request_processing.py, litellm/proxy/health_endpoints/_health_endpoints.py, litellm/proxy/image_endpoints/endpoints.py, and litellm/proxy/litellm_pre_call_utils.py used incomplete checks that did not cover every sensitive parameter or inspect equivalent values across nested request fields, path values, and bracket-notation form data. Routing and credential parameters including api_base, base_url, model_list, fallbacks, and litellm_credential_name could therefore be applied without clearing the operator's stored key, exposing upstream provider credentials and other configured secrets and permitting server-side requests to internal services reachable by the proxy. This issue is fixed in versions 1.88.6 and 1.96.2.
- Record
EUVD-2026-70236- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-3cv6-jpf6-8222
6.5
LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters
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.
- Record
GHSA-3cv6-jpf6-8222- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-918
- Updated
- 2026-11-02
NVD
6.5
LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. Prior to versions 1.88.6 and 1.96.2, any authenticated LiteLLM proxy user could redirect an outbound provider call to a destination the user controls and cause the proxy to send its configured provider credentials to that destination. Request validation in litellm/proxy/auth/auth_utils.py, litellm/proxy/common_request_processing.py, litellm/proxy/health_endpoints/_health_endpoints.py, litellm/proxy/image_endpoints/endpoints.py, and litellm/proxy/litellm_pre_call_utils.py used incomplete checks that did not cover every sensitive parameter or inspect equivalent values across nested request fields, path values, and bracket-notation form data. Routing and credential parameters including api_base, base_url, model_list, fallbacks, and litellm_credential_name could therefore be applied without clearing the operator's stored key, exposing upstream provider credentials and other configured secrets and permitting server-side requests to internal services reachable by the proxy. This issue is fixed in versions 1.88.6 and 1.96.2.
- Record
CVE-2026-84377- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-918
- Updated
- 2026-11-02
OSV
6.5
LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters
LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. Prior to versions 1.88.6 and 1.96.2, any authenticated LiteLLM proxy user could redirect an outbound provider call to a destination the user controls and cause the proxy to send its configured provider credentials to that destination. Request validation in litellm/proxy/auth/auth_utils.py, litellm/proxy/common_request_processing.py, litellm/proxy/health_endpoints/_health_endpoints.py, litellm/proxy/image_endpoints/endpoints.py, and litellm/proxy/litellm_pre_call_utils.py used incomplete checks that did not cover every sensitive parameter or inspect equivalent values across nested request fields, path values, and bracket-notation form data. Routing and credential parameters including api_base, base_url, model_list, fallbacks, and litellm_credential_name could therefore be applied without clearing the operator's stored key, exposing upstream provider credentials and other configured secrets and permitting server-side requests to internal services reachable by the proxy. This issue is fixed in versions 1.88.6 and 1.96.2.
- Record
CVE-2026-84377- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-918
- Updated
- 2026-11-02
OSVGHSA-3cv6-jpf6-8222
6.5
LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters
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.
- Record
GHSA-3cv6-jpf6-8222- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-918
- Updated
- 2026-11-02
OSVPYSEC-2026-4066
6.5
LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters
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.
- Record
PYSEC-2026-4066- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11800-1 No score
python313-litellm-1.101.0-1.1 on GA media
These are all security issues fixed in the python313-litellm-1.101.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11800-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
litellmPyPI |
before 1.88.6 | 1.88.6 |
litellmPyPI |
1.89.0 up to 1.89.7 | 1.89.7 |
litellmPyPI |
1.90.0 up to 1.90.7 | 1.90.7 |
litellmPyPI |
1.91.0 up to 1.91.5 | 1.91.5 |
litellmPyPI |
1.92.0 up to 1.92.2 | 1.92.2 |
litellmPyPI |
1.93.0 up to 1.93.2 | 1.93.2 |
litellmPyPI |
1.94.0 up to 1.94.3 | 1.94.3 |
litellmPyPI |
1.95.0 up to 1.95.1 | 1.95.1 |
litellmPyPI |
1.96.0 up to 1.96.2 | 1.96.2 |
litellmPyPI |
before 1.88.6, plus listed versions 0.1.00.1.10.1.20.1.2010.1.202 Show 45 moreShow less0.1.2030.1.2040.1.2050.1.2060.1.2070.1.2080.1.2090.1.2100.1.2110.1.2120.1.2130.1.2140.1.2150.1.2160.1.2170.1.2180.1.2190.1.2200.1.2210.1.2220.1.2230.1.2240.1.2250.1.2260.1.2270.1.2280.1.2290.1.22910.1.2300.1.2310.1.2320.1.2330.1.2340.1.2350.1.2360.1.2370.1.2380.1.30.1.310.1.320.1.3300.1.3310.1.340.1.3410.1.343 |
1.88.6 |
Show 8 moreShow less
| Package | Affected | Fixed |
|---|---|---|
litellmPyPI |
1.89.0 up to 1.89.7, plus listed versions 1.89.11.89.21.89.31.89.41.89.51.89.6 |
1.89.7 |
litellmPyPI |
1.90.0 up to 1.90.7, plus listed versions 1.90.11.90.21.90.31.90.41.90.51.90.6 |
1.90.7 |
litellmPyPI |
1.91.0 up to 1.91.5, plus listed versions 1.91.11.91.21.91.31.91.4 |
1.91.5 |
litellmPyPI |
1.92.0 up to 1.92.2, plus listed versions 1.92.1 |
1.92.2 |
litellmPyPI |
1.93.0 up to 1.93.2, plus listed versions 1.93.1 |
1.93.2 |
litellmPyPI |
1.94.0 up to 1.94.3, plus listed versions 1.94.11.94.2 |
1.94.3 |
litellmPyPI |
before 1.88.6, 1.89.0 up to 1.89.7, 1.90.0 up to 1.90.7, 1.91.0 up to 1.91.5, 1.92.0 up to 1.92.2, 1.93.0 up to 1.93.2, 1.94.0 up to 1.94.3, 1.95.0 up to 1.95.1, 1.96.0 up to 1.96.2, plus listed versions 0.1.00.1.10.1.20.1.2010.1.202 Show 45 moreShow less0.1.2030.1.2040.1.2050.1.2060.1.2070.1.2080.1.2090.1.2100.1.2110.1.2120.1.2130.1.2140.1.2150.1.2160.1.2170.1.2180.1.2190.1.2200.1.2210.1.2220.1.2230.1.2240.1.2250.1.2260.1.2270.1.2280.1.2290.1.22910.1.2300.1.2310.1.2320.1.2330.1.2340.1.2350.1.2360.1.2370.1.2380.1.30.1.310.1.320.1.3300.1.3310.1.340.1.3410.1.343 |
1.88.61.89.71.90.71.91.51.92.21.93.21.94.31.95.11.96.2 |
python-litellmopenSUSE:Tumbleweed |
before 1.101.0-1.1 | 1.101.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-84377 is a medium vulnerability (CVSS 6.5) in Berriai Litellm, published September 2, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.54%, the 45th percentile. Fixed in litellm 1.88.6.
References
github.com/BerriAI/litellm/security/advisories/GHSA-3cv6-jpf6-8222
github.com/BerriAI/litellm/pull/36011
github.com/BerriAI/litellm/pull/36314
github.com/BerriAI/litellm/pull/36494
github.com/BerriAI/litellm/commit/473f72e63a9777d793fbbf57194d8ec4fb97bc1b
github.com/BerriAI/litellm/commit/820f247a6abba55cd87d130bef7bba7be3b29d37
Show 9 moreShow less
github.com/BerriAI/litellm/commit/c898d341c02299cf2506d0d8e84cc67953043593
github.com/BerriAI/litellm/releases/tag/v1.88.6
github.com/BerriAI/litellm/releases/tag/v1.96.2
nvd.nist.gov/vuln/detail/CVE-2026-84377
github.com/advisories/GHSA-3cv6-jpf6-8222
github.com/CVEProject/cvelistV5/tree/main/cves/2026/84xxx/CVE-2026-84377.json
github.com/BerriAI/litellm
pypi.org/project/litellm
suse.com/security/cve/CVE-2026-84377
Left out here: 1,512 versions. The JSON record has them.