Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
HighPublic exploit

Broken Access Control in LiteLLM /config/update Endpoint

IdentifiersCVE-2026-35029CWE-863· Incorrect Authorization

CVE-2026-35029 is an incorrect authorization vulnerability in LiteLLM, an AI gateway/proxy for LLM APIs. In versions prior to 1.83.0, the /config/update endpoint does not enforce an admin-role authorization check. As a result, an authenticated low-privileged user can invoke privileged configuration functionality intended for administrators. The issue is reported in the update_config logic in litellm/proxy/proxy_server.py. By abusing this access, an attacker can modify proxy configuration and environment variables, register custom pass-through endpoint handlers that reference attacker-controlled Python code to achieve remote code execution, read arbitrary files accessible to the LiteLLM application by setting UI_LOGO_PATH and retrieving content via /get_image, and overwrite UI_USERNAME and UI_PASSWORD values to seize other privileged accounts.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation can lead to full compromise of the LiteLLM instance within the privileges of the application. Reported impacts include unauthorized modification of proxy configuration, exfiltration of sensitive environment variables such as DATABASE_URL, arbitrary file read from the server filesystem including files like /etc/passwd that are readable by the LiteLLM process, remote code execution through attacker-controlled pass-through handler registration, and takeover of privileged UI accounts by overwriting credential-related environment variables. The available CVSS v4 vector indicates high impact to confidentiality, integrity, and availability.

Mitigation

If you can’t patch tonight, do this now.

No workaround was provided in the available advisory content. If immediate upgrading is not possible, the practical risk-reduction measures based on the described attack path are to restrict access to LiteLLM to trusted administrators and users only, disable or tightly control low-privileged account creation and access, place the service behind strong network access controls, monitor and audit calls to /config/update, review pass-through endpoint configuration for unauthorized changes, and rotate secrets and credentials that may have been exposed or overwritten. These are mitigations only; patching is the required fix.

Remediation

Patch, then assume compromise.

Upgrade LiteLLM to version 1.83.0 or later. The vulnerability is fixed in v1.83.0; advisory material also notes a security patch was made available in the 1.83.0-nightly build prior to the stable release. Ensure the deployed version includes the authorization enforcement for /config/update and review configuration and environment-variable integrity after patching, especially UI credentials, pass-through endpoint definitions, and any secrets that may have been exposed.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 1 / 1 TOTALView more in app
CVE-2026-35029-PoCMaturityPoCVerified exploit

Repository is a standalone Python PoC for CVE-2026-35029, a broken access control issue in LiteLLM < 1.83.0 where authenticated non-admin users can call /config/update without the required proxy_admin role. The repo contains 11 files: documentation (README.md, docs/advisory.md, screenshots/README.md), environment orchestration (docker-compose.yml, litellm_config.yaml, requirements.txt), an attacker exfiltration service (exfil-server/Dockerfile and exfil-server/server.py), and exploit logic (exploit/exploit.py and exploit/payload.py). The main exploit flow in exploit/exploit.py uses requests to: verify target reachability, POST malicious JSON to /config/update, register pass-through endpoints, trigger those endpoints, and then fetch attacker-side logs from /logs. payload.py builds three malicious config payloads: one for environment variable exfiltration by mapping headers like X-Exfil-*-VAR to os.environ/VAR, one for file-read style abuse using LANGFUSE-related headers, and one for overwriting UI credentials. The included exfiltration server is a simple Python HTTP server that listens on port 9999, logs all inbound headers/body, exposes /health and /logs, and base64-decodes selected header values for easier inspection. docker-compose.yml creates a reproducible lab with PostgreSQL, a vulnerable LiteLLM image pinned by digest on port 4000, an optional fixed LiteLLM on port 4001, and the attacker exfiltration server on port 9999. The exploit’s primary demonstrated capability is unauthorized configuration modification leading to secret exfiltration (e.g., LITELLM_MASTER_KEY, DATABASE_URL, AWS_SECRET_ACCESS_KEY, OPENAI_API_KEY). The repository also documents additional impact including arbitrary file read, admin credential overwrite, and possible RCE through attacker-controlled pass-through handlers. Overall, this is a real operational PoC rather than a detector: it actively changes target configuration and exfiltrates data to attacker infrastructure.

learner202649Disclosed May 19, 2026pythonyamlwebnetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
BerriAILitellmapplication
LitellmLitellmapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures1

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity9

Community discussion across Reddit, Mastodon, and other social sources.