CVE-2026-48710

MEDIUM NUCLEI LAB

Starlette has missing Host header validation that poisons request.url.path, bypassing path-based security checks

Title source: cna
STIX 2.1

Exploitation Summary

EIP tracks 4 public exploits for CVE-2026-48710. PoCs published by eris-ths, SecureWithUmer, Bhanunamikaze. A Nuclei detection template is also available.

AI-analyzed exploit summary This repository contains a set of scripts designed to scan for supply chain vulnerabilities, including compromised packages, IOCs (Indicators of Compromise), and lockfile integrity checks. It does not include exploit code but provides detection mechanisms for known malicious packages and artifacts.

Description

Starlette is a lightweight ASGI framework/toolkit. Prior to version 1.0.1, the HTTP `Host` request header was not validated before being used to reconstruct `request.url`. Because the routing algorithm relies on the raw HTTP path while `request.url` is rebuilt from the `Host` header, a malformed header could make `request.url.path` differ from the path that was actually requested. Middleware and endpoints that apply security restrictions based on `request.url` (rather than the raw `scope` path) could therefore be bypassed. Users should upgrade to a version greater than or equal to version 1.0.1, which validates the `Host` header against the grammar of RFC 9112 §3.2 / RFC 3986 §3.2.2 when constructing `request.url` and falls back to `scope["server"]` for malformed values.

Exploits (4)

nomisec SCANNER 3 stars
by eris-ths · poc
https://github.com/eris-ths/supply-chain-guard

This repository contains a set of scripts designed to scan for supply chain vulnerabilities, including compromised packages, IOCs (Indicators of Compromise), and lockfile integrity checks. It does not include exploit code but provides detection mechanisms for known malicious packages and artifacts.

Classification
Scanner 95%
Attack Type
Other
Complexity
Moderate
Reliability
Reliable
Target: npm/yarn/Python projects
No auth needed
Prerequisites: presence of package.json, package-lock.json, or Python project files
mistral-large-3 · analyzed May 27, 2026 Full analysis →
github WORKING POC
by SecureWithUmer · c++poc
https://github.com/SecureWithUmer/CVE-2026-PoCs/tree/main/2026/CVE-2026-48710

This repository provides a functional proof-of-concept for CVE-2026-48710, demonstrating an authentication bypass vulnerability in Starlette/FastAPI applications due to improper handling of the Host header. The PoC includes both vulnerable and fixed versions of a FastAPI app, along with a scanner to detect the issue.

Classification
Working Poc 98%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: Starlette (vulnerable versions) and FastAPI applications using request.url.path for auth decisions
No auth needed
Prerequisites: Target must use a vulnerable version of Starlette/FastAPI · Target must implement auth middleware relying on request.url.path instead of request.scope['path']
mistral-large-3 · analyzed Jul 08, 2026 Full analysis →
github WORKING POC
by Bhanunamikaze · pythonpoc
https://github.com/Bhanunamikaze/BadHost-CVE-2026-48710-Exploit

This repository contains a functional exploit PoC for CVE-2026-48710, demonstrating an authentication bypass vulnerability in Starlette/FastAPI applications. The exploit leverages malformed Host headers to manipulate request.url.path, bypassing middleware authentication checks.

Classification
Working Poc 95%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: Starlette/FastAPI (specific version not specified)
No auth needed
Prerequisites: Access to a vulnerable Starlette/FastAPI application · Ability to send crafted HTTP requests with malformed Host headers
mistral-large-3 · analyzed May 28, 2026 Full analysis →
nomisec WORKING POC
by xtremebeing · poc
https://github.com/xtremebeing/starlette-host-header-lab

This repository contains a functional exploit PoC for CVE-2026-48710, demonstrating a Host header URL confusion vulnerability in Starlette. The exploit manipulates the Host header to bypass authentication checks by causing a discrepancy between the reconstructed URL path and the actual routed path.

Classification
Working Poc 100%
Attack Type
Auth Bypass
Complexity
Trivial
Reliability
Reliable
Target: Starlette >= 0.8.3, < 1.0.1
No auth needed
Prerequisites: Docker · Docker Compose
mistral-large-3 · analyzed May 27, 2026 Full analysis →

Nuclei Templates (1)

Starlette - Improper Validation of Unsafe Equivalence in Input
CRITICALby ritikchaddha
Shodan: http.html:"starlette"
FOFA: body="starlette"

References (24)

Core 24
Core References
X_Refsource_Misc x_refsource_misc
https://badhost.org
X_Refsource_Misc x_refsource_misc
https://www.secwest.net/starlette

Scores

CVSS v3 6.5
EPSS 0.0184
EPSS Percentile 76.8%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

CISA SSVC

Vulnrichment
Exploitation none
Automatable no
Technical Impact partial

Details

CWE
CWE-1289 CWE-444
Status published
Products (3)
encode/starlette 0.8.3 - 1.0.1
Kludex/starlette < 1.0.1
pypi/starlette 0 - 1.0.1PyPI
Published May 26, 2026
Tracked Since May 27, 2026