Starlette Framework Authentication Bypass Vulnerability (CVE-2026-48710)
CVE-2026-48710, also known as BadHost, is an authentication bypass vulnerability affecting the Starlette framework before version 1.0.1, and related frameworks like FastAPI, vLLM, and LiteLLM, due to a lack of input sanitization on host header paths, potentially allowing attackers to access sensitive data and steal credentials.
CVE search metadata
CVE search record: CVE-2026-48710. Severity: medium. CVSS: 6.5. EPSS: 2.10%. KEV: no. Product: Starlette framework (< 1.0.1), FastAPI (< 1.0.1), vLLM (< 1.0.1), LiteLLM (< 1.0.1), Starlette (< 1.0.1). Brief: Starlette Framework Authentication Bypass Vulnerability (CVE-2026-48710). Brief link: https://feed.craftedsignal.io/briefs/2026-05-starlette-auth-bypass/
What's new
- 1. fastapi version < 1.0.1; vllm version < 1.0.1; litellm version < 1.0.1; starlette framework version < 1.0.1 Sep 2, 17:56 via cisa-kev
The "BadHost" vulnerability, tracked as CVE-2026-48710, impacts the Starlette framework (versions prior to 1.0.1), a widely used ASGI implementation underpinning numerous AI agents and tools. This framework serves as the base for FastAPI, vLLM, LiteLLM, and thousands of other open-source projects. The vulnerability stems from a lack of input sanitization on host header paths, allowing attackers to bypass authentication mechanisms. Given the widespread adoption of Starlette and the relative ease of exploitation, this vulnerability presents a significant risk, potentially leading to the exposure of sensitive data, credential theft (including third-party accounts), and supply chain attacks.
Attack Chain
- The attacker sends a crafted HTTP request to a Starlette-based application.
- The attacker manipulates the Host header in the HTTP request to include malicious characters or unexpected paths.
- Due to missing sanitization, Starlette reconstructs the
request.urlbased on the malformed Host header. - The reconstructed
request.url.pathdiffers from the intended path based on the raw HTTP path. - Authentication middleware or endpoint security checks relying on
request.urlare bypassed. - The attacker gains unauthorized access to sensitive data or restricted functionality.
- The attacker may exfiltrate stolen credentials for third-party accounts stored in MCP servers.
- The attacker leverages compromised credentials for supply chain attacks.
Impact
The BadHost vulnerability (CVE-2026-48710) affects millions of servers utilizing the Starlette framework and related projects. Successful exploitation can lead to authentication bypass, allowing attackers to access sensitive data, steal credentials, and potentially launch supply chain attacks. The targeted sectors are broad due to the widespread adoption of Starlette in building various applications, including AI agents, web services, and management UIs. The vulnerability can expose credentials for third-party accounts stored in MCP servers, further amplifying the potential damage.
Recommendation
- Apply the patch to upgrade Starlette to version 1.0.1 or later to address CVE-2026-48710 immediately after thorough testing.
- Deploy a reverse proxy in front of your ASGI server to validate and normalize the Host header before forwarding requests, mitigating the attack vector.
- If using middleware, utilize
scope["path"]instead ofrequest.url.pathto avoid relying on the reconstructed URL, as recommended in the advisory. - Monitor web server logs for suspicious Host header manipulations and unusual request patterns to detect potential exploitation attempts using the provided Sigma rule.
Detection coverage 2
Detects CVE-2026-48710 Exploitation — Suspicious Host Header Manipulation
highDetects CVE-2026-48710 exploitation attempts by monitoring for unusual characters or patterns in the Host header of HTTP requests.
Detects CVE-2026-48710 Exploitation — HTTP Request to Sensitive Endpoint with Shell Metacharacters in Host Header
mediumDetects CVE-2026-48710 exploitation attempt with shell metacharacters in the host header to access sensitive endpoints
Detection queries are available on the platform. Get full rules →