A Host-header parsing flaw in LiteLLM's proxy auth layer (litellm < 1.84.0) lets an unauthenticated attacker reach protected management routes by crafting a Host header that makes the auth gate evaluate a different path than FastAPI actually dispatches, exploiting CWE-290 (Authentication Bypass by Spoofing). LiteLLM is the de facto multi-provider LLM gateway in many enterprise AI stacks — a successful bypass exposes management APIs that hold upstream LLM API keys (OpenAI, Anthropic, etc.), model routing rules, and spending controls, making the blast radius significant beyond the 6 tracked downstream dependents. EPSS places this in the top 80th percentile for exploitation likelihood and the technique requires no AI/ML knowledge whatsoever, just standard HTTP header manipulation. Upgrade to litellm 1.84.0 immediately; if patching is blocked, place the proxy behind a CDN, WAF, or reverse proxy with explicit server_name allowlists — and rotate any LLM API keys accessible via management routes as a precaution.
What is the risk?
HIGH risk for self-hosted LiteLLM proxy deployments exposed without an upstream host-validating layer. The vulnerability is trivially exploitable — no specialized knowledge required beyond basic HTTP tooling. Successful exploitation of management routes (/key, /user, /model, /spend) can expose LLM API keys, enable unauthorized model routing to attacker-controlled endpoints, create privileged access tokens, and remove rate-limiting or spending controls enabling cost harvesting. Cloud-hosted LiteLLM and deployments behind Cloudflare, nginx with server_name allowlists, or cloud load balancers are explicitly not affected, limiting exposure to bare-metal or container deployments with direct network access.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| LiteLLM | pip | < 1.84.0 | 1.84.0 |
Do you use LiteLLM? You're affected.
How severe is it?
What should I do?
5 steps-
Upgrade litellm to >= 1.84.0 — no configuration change required post-upgrade.
-
If unable to patch immediately, place the proxy behind a CDN (Cloudflare), WAF, or reverse proxy (nginx, Caddy) with explicit server_name allowlists to validate and normalize Host headers before forwarding.
-
Restrict network access to the proxy listener to trusted internal CIDR ranges via firewall rules as an additional control.
-
Detection: audit proxy access logs for requests with Host headers that do not match the canonical proxy hostname (unexpected domains, IP literals, port variants, internal hostnames).
-
Rotate all LLM API keys and virtual keys accessible via management routes if exposure cannot be ruled out for the affected version window.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-49468?
A Host-header parsing flaw in LiteLLM's proxy auth layer (litellm < 1.84.0) lets an unauthenticated attacker reach protected management routes by crafting a Host header that makes the auth gate evaluate a different path than FastAPI actually dispatches, exploiting CWE-290 (Authentication Bypass by Spoofing). LiteLLM is the de facto multi-provider LLM gateway in many enterprise AI stacks — a successful bypass exposes management APIs that hold upstream LLM API keys (OpenAI, Anthropic, etc.), model routing rules, and spending controls, making the blast radius significant beyond the 6 tracked downstream dependents. EPSS places this in the top 80th percentile for exploitation likelihood and the technique requires no AI/ML knowledge whatsoever, just standard HTTP header manipulation. Upgrade to litellm 1.84.0 immediately; if patching is blocked, place the proxy behind a CDN, WAF, or reverse proxy with explicit server_name allowlists — and rotate any LLM API keys accessible via management routes as a precaution.
Is CVE-2026-49468 actively exploited?
No confirmed active exploitation of CVE-2026-49468 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-49468?
1. Upgrade litellm to >= 1.84.0 — no configuration change required post-upgrade. 2. If unable to patch immediately, place the proxy behind a CDN (Cloudflare), WAF, or reverse proxy (nginx, Caddy) with explicit server_name allowlists to validate and normalize Host headers before forwarding. 3. Restrict network access to the proxy listener to trusted internal CIDR ranges via firewall rules as an additional control. 4. Detection: audit proxy access logs for requests with Host headers that do not match the canonical proxy hostname (unexpected domains, IP literals, port variants, internal hostnames). 5. Rotate all LLM API keys and virtual keys accessible via management routes if exposure cannot be ruled out for the affected version window.
What systems are affected by CVE-2026-49468?
This vulnerability affects the following AI/ML architecture patterns: LLM API gateways, model serving, agent frameworks, RAG pipelines, multi-provider LLM routing.
What is the CVSS score for CVE-2026-49468?
No CVSS score has been assigned yet.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0034 Cost Harvesting AML.T0049 Exploit Public-Facing Application AML.T0055 Unsecured Credentials AML.T0107 Exploitation for Defense Evasion Compliance Controls Affected
What are the technical details?
Original Advisory
### Impact A Host-header parsing flaw in the LiteLLM proxy could, under specific conditions, allow unauthenticated access to protected management routes. The auth layer derived the effective route from `request.url.path` in `litellm/proxy/auth/auth_utils.py::get_request_route()`, which Starlette reconstructs from the `Host` header. A crafted `Host` could therefore make the auth gate evaluate a different route from the one FastAPI dispatched. **Most deployments are not affected.** The bypass is blocked by any upstream layer that validates or normalizes `Host`, such as: - a CDN or WAF, such as Cloudflare - a reverse proxy with `server_name` allowlists - a host-based load balancer **LiteLLM Cloud customers are not affected.** ### Patches Fixed in **`1.84.0`**. Upgrade to `1.84.0` or later. No configuration change is required. ### Workarounds If upgrading is not immediately possible, place the proxy behind an upstream component that validates or normalizes the `Host` header before forwarding (a CDN/WAF, a reverse proxy with explicit `server_name` allowlists, or a cloud load balancer with host-based routing rules), or otherwise restrict network access to the proxy listener. ### References - Patched release: [`v1.84.0`](https://github.com/BerriAI/litellm/releases/tag/v1.84.0) **Discovery Credit**: Le The Thang (KCSC) and Kim Ngoc Chung (One Mount Group)
Exploitation Scenario
An attacker identifies a LiteLLM proxy exposed on a non-standard port without an upstream CDN or reverse proxy. They send an HTTP request with a crafted Host header — e.g., Host: localhost or Host: 127.0.0.1 — designed to make auth_utils.py's get_request_route() resolve the effective path to an internal or unprotected route, bypassing the authentication check. FastAPI simultaneously dispatches the request to the actual protected management endpoint as normal. The attacker iterates against known management paths (/key/list, /user/info, /model/info, /spend/logs) and successfully reads all configured upstream LLM API keys and virtual key credentials. Those keys are then used to run unauthorized inference at the victim's expense or to pivot into the victim's OpenAI/Anthropic accounts for further access.
Weaknesses (CWE)
CWE-290 — Authentication Bypass by Spoofing: This attack-focused weakness is caused by incorrectly implemented authentication schemes that are subject to spoofing attacks.
Source: MITRE CWE corpus.
References
Timeline
Related Vulnerabilities
CVE-2026-42208 9.8 LiteLLM: SQL injection exposes LLM API credentials
Same package: litellm CVE-2026-35030 9.1 LiteLLM: auth bypass via JWT cache key collision
Same package: litellm CVE-2024-6825 8.8 LiteLLM: RCE via post_call_rules callback injection
Same package: litellm CVE-2026-40217 8.8 LiteLLM: RCE via bytecode rewriting in guardrails API
Same package: litellm CVE-2026-42203 8.8 LiteLLM: SSTI in prompt template endpoint enables RCE
Same package: litellm