PHP has various global state that temporarily points into request memory. In some scenarios, global state may not be correctly reset, or may be repopulated after being reset. The global state may then refer to request memory even after it has been freed. Subsequent requests may read or branch on this stale state before it is fully initialized. Multiple strategies can trigger this condition and produce remote code execution (RCE).
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.
via cve_org
| Version | Type | Source | Base | Exp | Imp |
|---|---|---|---|---|---|
| 3.1 | Primary | NVD | 9.8 | 3.9 | 5.9 |
| 3.1 | Primary | cve.org | 9.8 | — | — |
| 3.1 | Primary | cve.org | 9.8 | — | — |
| 3.1 | Primary | cve.org | 9.8 | — | — |
| 3.1 | Primary | cve.org | 9.8 | — | — |
| 3.1 | Secondary | NVD | 9.8 | 3.9 | 5.9 |
| 3.1 | Secondary | GHSA | 9.8 | — | — |
| 4.0 | Primary | cve.org | 9.3 | — | — |
| 4.0 | Primary | cve.org | 9.3 | — | — |
| 4.0 | Primary | cve.org | 9.3 | — | — |
| 4.0 | Primary | cve.org | 9.3 | — | — |
| 4.0 | Primary | cve.org | 9.3 | — | — |
| 4.0 | Primary | cve.org | 9.3 | — | — |
| 4.0 | Secondary | GHSA | 9.3 | — | — |
| 4.0 | Secondary | ENISA EUVD | 9.3 | — | — |
| 4.0 | Secondary | NVD | 9.3 | — | — |