CVE-2026-59820 — litellm
Fix: BerriAI/litellm@6a15adcCVE-2026-59820 is a Path Traversal vulnerability in litellm. A fix is available for litellm — see the affected versions and patch details below.
LiteLLM: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Exploitation Status
No confirmed exploitation observed yet
- A successful exploit gives an attacker total control of the affected component, not partial access.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2026-59820.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
litellmReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.
Description
Impact
LiteLLM Skills archive extraction did not sufficiently validate file paths from uploaded skill ZIP archives. An authenticated user with access to LiteLLM LLM API routes, or a key whose allowed_routes includes /v1/skills, anthropic_routes, or llm_api_routes, could upload a crafted skill archive containing path traversal entries.
When the skill was processed for execution, those entries could be written outside the intended extraction/staging directory. This could allow arbitrary file write and may lead to code execution depending on deployment configuration and writable paths.
Patches
The issue is fixed in 1.83.7-stable.
LiteLLM recommens upgrading to 1.83.7-stable or later.
Workarounds
If upgrading is not immediately possible:
- Block
POST /v1/skillsat your reverse proxy or API gateway. - Restrict Skills API access to trusted users only.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐍PyPI | litellm | all versions | 1.83.7pip install --upgrade 'litellm==1.83.7' |
Affected Products
litellmlitellmDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for litellm, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update litellm to 1.83.7 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-59820 is resolved across your whole dependency graph.
Workarounds
Resolve every user-supplied path to its canonical form and reject anything that escapes the intended directory, and run the component under an account that has no read or write access outside the directory it legitimately serves.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
LiteLLM prior to 1.83.7-stable does not sufficiently validate file paths extracted from uploaded Skills ZIP archives, allowing path traversal writes outside the intended extraction directory. Exploitation requires the LiteLLM Proxy Server's Skills API (/v1/skills, anthropic_routes, or llm_api_routes) to be enabled and…
Upgrade to LiteLLM 1.83.7-stable or later. Products that use LiteLLM only as a Python SDK (litellm.completion()) rather than running the LiteLLM Proxy Server with the Skills feature enabled are not exposed to this vulnerability, as the vulnerable HTTP upload endpoint does not exist in SDK-only usage.Source: Red Hat security advisory for CVE-2026-59820 (CC BY 4.0)
Frequently Asked Questions
Is CVE-2026-59820 in your dependencies?
Find it across PyPI, including transitive dependencies.