{"id":"CVE-2026-42208","aliases":["EUVD-2026-28503","GHSA-r75f-5x8p-qvmc","PYSEC-2026-391"],"status":"published","title":"LiteLLM: SQL injection in Proxy API key verification","description":"LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. From version 1.81.16 to before version 1.83.7, a database query used during proxy API key checks mixed the caller-supplied key value into the query text instead of passing it as a separate parameter. An unauthenticated attacker could send a specially crafted Authorization header to any LLM API route (for example POST /chat/completions) and reach this query through the proxy's error-handling path. An attacker could read data from the proxy's database and may be able to modify it, leading to unauthorised access to the proxy and the credentials it manages. This issue has been patched in version 1.83.7.","severity":{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.8942,"percentile":0.99789,"model":"v2026.06.15"},"facts":{"in_kev":true,"known_exploited":true,"public_exploit":true,"fix_available":true},"cwes":["CWE-89"],"published":"2026-04-24T16:17:07Z","modified":"2026-10-28T02:31:14Z","kev":{"date_added":"2026-05-08","due_date":"2026-05-11","required_action":"Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.","known_ransomware_use":"Unknown"},"exploitation":[{"source":"euvd","since":"2026-05-08"},{"source":"kev","since":"2026-05-08"}],"exploits":[{"source":"pocgithub","id":"imjdl/CVE-2026-42208_lab","title":"imjdl/CVE-2026-42208_lab","date":"2026-04-28","url":"https://github.com/imjdl/CVE-2026-42208_lab"},{"source":"pocgithub","id":"ashrafzaryouh/CVE-2026-42208","title":"ashrafzaryouh/CVE-2026-42208","date":"2026-05-03","url":"https://github.com/ashrafzaryouh/CVE-2026-42208"},{"source":"pocgithub","id":"Zeltoc/threat-intel-brief-cve-2026-42208-litellm","title":"Zeltoc/threat-intel-brief-cve-2026-42208-litellm","date":"2026-05-10","url":"https://github.com/Zeltoc/threat-intel-brief-cve-2026-42208-litellm"},{"source":"pocgithub","id":"rootdirective-sec/CVE-2026-42208-Lab","title":"rootdirective-sec/CVE-2026-42208-Lab","date":"2026-05-10","url":"https://github.com/rootdirective-sec/CVE-2026-42208-Lab"},{"source":"pocgithub","id":"ridhinva/litellm-sqli-scanner","title":"ridhinva/litellm-sqli-scanner","date":"2026-05-22","url":"https://github.com/ridhinva/litellm-sqli-scanner"},{"source":"pocgithub","id":"HAERIN-L/poc_cve-2026-42208","title":"HAERIN-L/poc_cve-2026-42208","date":"2026-05-30","url":"https://github.com/HAERIN-L/poc_cve-2026-42208"},{"source":"metasploit","id":"auxiliary/scanner/http/litellm_proxy_sqli","title":"BerriAI LiteLLM Proxy Pre-Auth SQL Injection Scanner","type":"auxiliary","date":"2026-04-20","verified":true,"url":"https://www.rapid7.com/db/modules/auxiliary/scanner/http/litellm_proxy_sqli"},{"source":"nuclei","id":"CVE-2026-42208","title":"LiteLLM - SQL Injection","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2026/CVE-2026-42208.yaml"}],"fixes":[{"ecosystem":"PyPI","package":"litellm","fixed_in":["1.83.7"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"litellm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.81.16"},{"fixed":"1.83.7"}]}]},{"source":"osv","ecosystem":"PyPI","package":"litellm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.81.16"},{"fixed":"1.83.7"}]}],"versions":["1.81.16","1.82.0","1.82.1","1.82.2","1.82.3","1.82.4","1.82.5","1.82.6","1.83.0","1.83.1","1.83.2","1.83.3","1.83.4","1.83.5","1.83.6"]},{"source":"osv","ecosystem":"PyPI","package":"litellm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.81.16"},{"fixed":"1.83.7"}]}],"versions":["1.81.16","1.82.0","1.82.1","1.82.2","1.82.3","1.82.4","1.82.5","1.82.6","1.83.0","1.83.1","1.83.2","1.83.3","1.83.4","1.83.5","1.83.6"]}],"products":[{"vendor":"berriai","product":"litellm"},{"vendor":"litellm","product":"litellm"},{"vendor":"red hat","product":"lightspeed core"},{"vendor":"red hat","product":"red hat ansible automation platform 2"},{"vendor":"red hat","product":"red hat openshift ai (rhoai)"}],"references":[{"url":"https://github.com/BerriAI/litellm/security/advisories/GHSA-r75f-5x8p-qvmc","tags":["x_refsource_CONFIRM","Mitigation","Patch","Vendor Advisory","advisory","web"]},{"url":"https://github.com/BerriAI/litellm/releases/tag/v1.83.7-stable","tags":["x_refsource_MISC","Product","Release Notes","web"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-42208","tags":["government-resource","US Government Resource","web"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-42208","tags":["vdb-entry","x_refsource_REDHAT","Third Party Advisory","advisory","web"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2463965","tags":["issue-tracking","x_refsource_REDHAT","Mitigation","Third Party Advisory","report","web"]},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42208.json","tags":["x_sadp-csaf-vex","Third Party Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-42208","tags":["advisory"]},{"url":"https://github.com/BerriAI/litellm","tags":["package"]},{"url":"https://github.com/advisories/GHSA-r75f-5x8p-qvmc","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/litellm/PYSEC-2026-391.yaml","tags":["web"]},{"url":"https://pypi.org/project/litellm","tags":["web","package"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42208.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-42208","title":"LiteLLM: SQL injection in Proxy API key verification","description":"LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. From version 1.81.16 to before version 1.83.7, a database query used during proxy API key checks mixed the caller-supplied key value into the query text instead of passing it as a separate parameter. An unauthenticated attacker could send a specially crafted Authorization header to any LLM API route (for example POST /chat/completions) and reach this query through the proxy's error-handling path. An attacker could read data from the proxy's database and may be able to modify it, leading to unauthorised access to the proxy and the credentials it manages. This issue has been patched in version 1.83.7.","status":"published","published":"2026-05-08T03:38:14.124Z","modified":"2026-07-15T00:58:03.861Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical","assessor":"cna"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp"}],"cwes":["CWE-89","CWE-89"],"updated_at":"2026-11-02T13:40:23.731501Z"}],"euvd":[{"id":"EUVD-2026-28503","description":"LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. From version 1.81.16 to before version 1.83.7, a database query used during proxy API key checks mixed the caller-supplied key value into the query text instead of passing it as a separate parameter. An unauthenticated attacker could send a specially crafted Authorization header to any LLM API route (for example POST /chat/completions) and reach this query through the proxy's error-handling path. An attacker could read data from the proxy's database and may be able to modify it, leading to unauthorised access to the proxy and the credentials it manages. This issue has been patched in version 1.83.7.","status":"published","published":"2026-05-08T03:38:14Z","modified":"2026-07-15T00:58:03Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"exploited_since":"2026-05-08","updated_at":"2026-11-02T18:19:56.918546Z"}],"ghsa":[{"id":"GHSA-r75f-5x8p-qvmc","title":"LiteLLM has SQL Injection in Proxy API key verification","description":"### Impact\n\nA database query used during proxy API key checks mixed the caller-supplied key value into the query text instead of passing it as a separate parameter. An unauthenticated attacker could send a specially crafted `Authorization` header to any LLM API route (for example `POST /chat/completions`) and reach this query through the proxy's error-handling path.\n\nAn attacker could read data from the proxy's database and may be able to modify it, leading to unauthorised access to the proxy and the credentials it manages.\n\n### Patches\n\nFixed in **`1.83.7`**. The caller-supplied value is now always passed to the database as a separate parameter. Upgrade to `1.83.7` or later.\n\n### Workarounds\n\nIf upgrading is not immediately possible, set `disable_error_logs: true` under `general_settings`. This removes the path through which unauthenticated input reaches the vulnerable query.\n\n### References\n\n- Patched release: [`v1.83.7-stable`](https://github.com/BerriAI/litellm/releases/tag/v1.83.7-stable)\n\n**Discovery Credit**: Tencent YunDing Security Lab","status":"published","published":"2026-04-24T16:17:07Z","modified":"2026-10-05T18:39:55Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:41:25.889593Z"}],"kev":[{"id":"CVE-2026-42208","title":"BerriAI LiteLLM SQL Injection Vulnerability","description":"BerriAI LiteLLM contains a SQL injection vulnerability that allows an attacker to read data from the proxy's database and potentially modify it, leading to unauthorized access to the proxy and the credentials it manages.","cwes":["CWE-89"],"kev":{"date_added":"2026-05-08","due_date":"2026-05-11","required_action":"Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.","known_ransomware_use":"Unknown"},"updated_at":"2026-11-02T17:00:15.999436Z"}],"nvd":[{"id":"CVE-2026-42208","description":"LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. From version 1.81.16 to before version 1.83.7, a database query used during proxy API key checks mixed the caller-supplied key value into the query text instead of passing it as a separate parameter. An unauthenticated attacker could send a specially crafted Authorization header to any LLM API route (for example POST /chat/completions) and reach this query through the proxy's error-handling path. An attacker could read data from the proxy's database and may be able to modify it, leading to unauthorised access to the proxy and the credentials it manages. This issue has been patched in version 1.83.7.","status":"published","published":"2026-05-08T04:16:19.923Z","modified":"2026-10-26T20:10:00.16Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"critical","assessor":"secondary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:12:17.842772Z"}],"osv":[{"id":"CVE-2026-42208","title":"LiteLLM: SQL injection in Proxy API key verification","description":"LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. From version 1.81.16 to before version 1.83.7, a database query used during proxy API key checks mixed the caller-supplied key value into the query text instead of passing it as a separate parameter. An unauthenticated attacker could send a specially crafted Authorization header to any LLM API route (for example POST /chat/completions) and reach this query through the proxy's error-handling path. An attacker could read data from the proxy's database and may be able to modify it, leading to unauthorised access to the proxy and the credentials it manages. This issue has been patched in version 1.83.7.","status":"published","published":"2026-05-08T03:38:14.124Z","modified":"2026-10-28T02:31:14.50391709Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:45:04.117819Z"},{"id":"GHSA-r75f-5x8p-qvmc","title":"LiteLLM has SQL Injection in Proxy API key verification","description":"### Impact\n\nA database query used during proxy API key checks mixed the caller-supplied key value into the query text instead of passing it as a separate parameter. An unauthenticated attacker could send a specially crafted `Authorization` header to any LLM API route (for example `POST /chat/completions`) and reach this query through the proxy's error-handling path.\n\nAn attacker could read data from the proxy's database and may be able to modify it, leading to unauthorised access to the proxy and the credentials it manages.\n\n### Patches\n\nFixed in **`1.83.7`**. The caller-supplied value is now always passed to the database as a separate parameter. Upgrade to `1.83.7` or later.\n\n### Workarounds\n\nIf upgrading is not immediately possible, set `disable_error_logs: true` under `general_settings`. This removes the path through which unauthenticated input reaches the vulnerable query.\n\n### References\n\n- Patched release: [`v1.83.7-stable`](https://github.com/BerriAI/litellm/releases/tag/v1.83.7-stable)\n\n**Discovery Credit**: Tencent YunDing Security Lab","status":"published","published":"2026-04-24T16:17:07Z","modified":"2026-10-05T18:45:06.017895472Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:46:55.480549Z"},{"id":"PYSEC-2026-391","title":"LiteLLM has SQL Injection in Proxy API key verification","description":"### Impact\n\nA database query used during proxy API key checks mixed the caller-supplied key value into the query text instead of passing it as a separate parameter. An unauthenticated attacker could send a specially crafted `Authorization` header to any LLM API route (for example `POST /chat/completions`) and reach this query through the proxy's error-handling path.\n\nAn attacker could read data from the proxy's database and may be able to modify it, leading to unauthorised access to the proxy and the credentials it manages.\n\n### Patches\n\nFixed in **`1.83.7`**. The caller-supplied value is now always passed to the database as a separate parameter. Upgrade to `1.83.7` or later.\n\n### Workarounds\n\nIf upgrading is not immediately possible, set `disable_error_logs: true` under `general_settings`. This removes the path through which unauthenticated input reaches the vulnerable query.\n\n### References\n\n- Patched release: [`v1.83.7-stable`](https://github.com/BerriAI/litellm/releases/tag/v1.83.7-stable)\n \n**Discovery Credit**: Tencent YunDing Security Lab","status":"published","published":"2026-06-29T11:50:45.645996Z","modified":"2026-07-01T20:22:56.429351Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"updated_at":"2026-11-02T15:52:57.255153Z"}]}}
