NewApp Monitoring is liveSign up free
AgentbeamBeta
AI agent vulnerability · LiteLLM

CVE-2026-59820: LiteLLM: Arbitrary file write via path traversal in Skills archive extraction

mediumCVSS 4.0 6.1GHSA-5jmr-gcrj-2c9q

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 litellm

For 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/skills at 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:

  1. Block POST /v1/skills at your reverse proxy or API gateway.
  2. 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 entries