CVE-2026-59820: LiteLLM: Arbitrary file write via path traversal in Skills archive extraction
LiteLLM did not validate file paths inside uploaded skill ZIP archives. A user with access to LLM API routes could upload an archive with path traversal entries and write files outside the staging directory when the skill runs. That can lead to code execution depending on deployment. Fixed in LiteLLM 1.83.7-stable.
Published Jul 22, 2026 · Analysis Oct 25, 2026
What an attacker can do
LiteLLM's Skills feature accepts a ZIP archive through POST /v1/skills. When a skill is processed for execution, the proxy extracts the archive and stages its files. Entry names were not checked, so an entry such as ../../x or an absolute path was written outside the intended extraction and staging directory (CWE-22, path traversal).
The attacker needs a valid LiteLLM identity with access to LLM API routes. That means a user, or a key whose allowed_routes includes /v1/skills, anthropic_routes or llm_api_routes. They do not need admin rights. The CVSS 4.0 vector rates integrity and availability impact as high and lists an attack requirement.
The result is arbitrary file write on the proxy host. The advisory says this may lead to code execution depending on deployment configuration and writable paths: for example, overwriting a Python file, a config file or a startup script that the proxy or its container later loads. A LiteLLM proxy holds provider API keys for many models, so a compromise reaches those keys too.
Who is affected
Affected: LiteLLM below 1.83.7. Instances are exposed when untrusted users or keys can reach /v1/skills, which includes any key that has the broad llm_api_routes or anthropic_routes route groups.
Check the installed version:
pip show litellmFor Docker deployments, check the image tag.
litellm
- Ecosystem
- PyPI
- Affected
- < 1.83.7
- Fixed in
- 1.83.7
- Check
pip show litellm
How to fix it
Upgrade to LiteLLM 1.83.7-stable or later. For pip installs, run pip install --upgrade litellm, then confirm with pip show litellm. The fix normalizes each archive entry path and skips entries that begin with .. or are absolute. It also checks that the resolved staging path stays under the temp directory.
If you cannot upgrade yet, the advisory gives two workarounds:
- Block
POST /v1/skillsat your reverse proxy or API gateway. - Restrict Skills API access to trusted users only.
How to tell if you were hit
Look in the proxy's request logs for POST /v1/skills from keys that have no reason to upload skills. Check the host for files with recent timestamps outside the skills staging directory, especially Python sources, config files, shell profiles and startup scripts. After the fix, rejected entries are logged and skipped, so log lines about skipped skill archive paths on a patched proxy point to attempts. Review any skill archives you still hold for entries that start with .. or /.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
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.
Questions
- Does CVE-2026-59820 need an admin key?
No. A key with access to LLM API routes, or one whose allowed_routes includes /v1/skills, anthropic_routes or llm_api_routes, is enough. It does need a valid, authenticated identity.
- Does it give code execution?
It gives arbitrary file write. The advisory says this may lead to code execution depending on deployment configuration and which paths are writable.
- Which version fixes it?
LiteLLM 1.83.7-stable, which pip reports as 1.83.7. Anything below that is affected.
- Can I mitigate without upgrading?
Yes, in part. Block POST /v1/skills at the reverse proxy or API gateway, and limit Skills API access to trusted users.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
More LiteLLM vulnerabilities
All LiteLLM entriesCVE-2026-84377
LiteLLM: Authenticated SSRF and provider-credential exfiltration via unvalidated request-body routing parameters
medium6.5Sep 30, 2026CVE-2026-59823
LiteLLM Proxy has server-side request forgery via the `user_config` request parameter
medium5.3Sep 17, 2026CVE-2026-37004
LiteLLM vulnerable to server-side template injection in the /prompts/test endpoint
critical9.8Aug 27, 2026CVE-2026-59819
LiteLLM: Local file read via request-supplied OIDC file references
low2.1Jul 22, 2026CVE-2026-59821
LiteLLM: Custom Code Guardrails production endpoints bypass code safety checks
low2.1Jul 22, 2026CVE-2026-59822
LiteLLM: MCP Authentication Bypass via OAuth2 Passthrough Fallback
high8.8ExploitedJul 22, 2026
