{"api_version":"1","generated_at":"2026-09-02T19:07:06+00:00","cve":"CVE-2026-84377","urls":{"html":"https://cve.report/CVE-2026-84377","api":"https://cve.report/api/cve/CVE-2026-84377.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-84377","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-84377"},"summary":{"title":"LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters","description":"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.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-09-02 18:21:28","updated_at":"2026-09-02 18:21:28"},"problem_types":["CWE-918","CWE-918 CWE-918: Server-Side Request Forgery (SSRF)"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/BerriAI/litellm/security/advisories/GHSA-3cv6-jpf6-8222","name":"https://github.com/BerriAI/litellm/security/advisories/GHSA-3cv6-jpf6-8222","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/BerriAI/litellm/commit/473f72e63a9777d793fbbf57194d8ec4fb97bc1b","name":"https://github.com/BerriAI/litellm/commit/473f72e63a9777d793fbbf57194d8ec4fb97bc1b","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/BerriAI/litellm/releases/tag/v1.96.2","name":"https://github.com/BerriAI/litellm/releases/tag/v1.96.2","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/BerriAI/litellm/commit/c898d341c02299cf2506d0d8e84cc67953043593","name":"https://github.com/BerriAI/litellm/commit/c898d341c02299cf2506d0d8e84cc67953043593","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/BerriAI/litellm/pull/36314","name":"https://github.com/BerriAI/litellm/pull/36314","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/BerriAI/litellm/pull/36011","name":"https://github.com/BerriAI/litellm/pull/36011","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/BerriAI/litellm/commit/820f247a6abba55cd87d130bef7bba7be3b29d37","name":"https://github.com/BerriAI/litellm/commit/820f247a6abba55cd87d130bef7bba7be3b29d37","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/BerriAI/litellm/pull/36494","name":"https://github.com/BerriAI/litellm/pull/36494","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/BerriAI/litellm/releases/tag/v1.88.6","name":"https://github.com/BerriAI/litellm/releases/tag/v1.88.6","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-84377","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-84377","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"BerriAI","product":"litellm","version":"affected < 1.88.6","platforms":[]},{"source":"CNA","vendor":"BerriAI","product":"litellm","version":"affected >= 1.89.0, < 1.96.2","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"litellm","vendor":"BerriAI","versions":[{"status":"affected","version":"< 1.88.6"},{"status":"affected","version":">= 1.89.0, < 1.96.2"}]}],"descriptions":[{"lang":"en","value":"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."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-918","description":"CWE-918: Server-Side Request Forgery (SSRF)","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-09-02T17:18:32.728Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/BerriAI/litellm/security/advisories/GHSA-3cv6-jpf6-8222","tags":["x_refsource_CONFIRM"],"url":"https://github.com/BerriAI/litellm/security/advisories/GHSA-3cv6-jpf6-8222"},{"name":"https://github.com/BerriAI/litellm/pull/36011","tags":["x_refsource_MISC"],"url":"https://github.com/BerriAI/litellm/pull/36011"},{"name":"https://github.com/BerriAI/litellm/pull/36314","tags":["x_refsource_MISC"],"url":"https://github.com/BerriAI/litellm/pull/36314"},{"name":"https://github.com/BerriAI/litellm/pull/36494","tags":["x_refsource_MISC"],"url":"https://github.com/BerriAI/litellm/pull/36494"},{"name":"https://github.com/BerriAI/litellm/commit/473f72e63a9777d793fbbf57194d8ec4fb97bc1b","tags":["x_refsource_MISC"],"url":"https://github.com/BerriAI/litellm/commit/473f72e63a9777d793fbbf57194d8ec4fb97bc1b"},{"name":"https://github.com/BerriAI/litellm/commit/820f247a6abba55cd87d130bef7bba7be3b29d37","tags":["x_refsource_MISC"],"url":"https://github.com/BerriAI/litellm/commit/820f247a6abba55cd87d130bef7bba7be3b29d37"},{"name":"https://github.com/BerriAI/litellm/commit/c898d341c02299cf2506d0d8e84cc67953043593","tags":["x_refsource_MISC"],"url":"https://github.com/BerriAI/litellm/commit/c898d341c02299cf2506d0d8e84cc67953043593"},{"name":"https://github.com/BerriAI/litellm/releases/tag/v1.88.6","tags":["x_refsource_MISC"],"url":"https://github.com/BerriAI/litellm/releases/tag/v1.88.6"},{"name":"https://github.com/BerriAI/litellm/releases/tag/v1.96.2","tags":["x_refsource_MISC"],"url":"https://github.com/BerriAI/litellm/releases/tag/v1.96.2"}],"source":{"advisory":"GHSA-3cv6-jpf6-8222","discovery":"UNKNOWN"},"title":"LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-84377","datePublished":"2026-09-02T17:18:32.728Z","dateReserved":"2026-09-01T16:27:58.129Z","dateUpdated":"2026-09-02T17:18:32.728Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-02 18:21:28","lastModifiedDate":"2026-09-02 18:21:28","problem_types":["CWE-918","CWE-918 CWE-918: Server-Side Request Forgery (SSRF)"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":2.8,"impactScore":3.6}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"84377","Ordinal":"1","Title":"LiteLLM: Authenticated SSRF and provider-credential exfiltration","CVE":"CVE-2026-84377","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"84377","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"LiteLLM: Authenticated SSRF and provider-credential exfiltration"}]}}}