---
id: "CVE-2026-48710"
kind: "vulnerability"
aliases: ["CVE-2026-48710"]
title: "Starlette is a lightweight ASGI framework/toolkit"
severity: "high"
cvss: 6.5
epss: null
exploited: true
status: "resolved"
category: "package"
products: [{"name": "Kludex Starlette", "fixed": [], "affected": "", "ecosystem": "vendor"}, {"name": "starlette", "fixed": ["1.0.1"], "affected": "<= 1.0.0", "ecosystem": "pypi"}, {"name": "encode starlette", "fixed": ["1.0.1"], "affected": ">= 0.8.3, < 1.0.1", "ecosystem": "vendor"}, {"name": "redhat ai inference server", "fixed": [], "affected": ">= 3.3.0, <= 3.3.5", "ecosystem": "vendor"}, {"name": "redhat ansible automation platform", "fixed": [], "affected": "= 2.6", "ecosystem": "vendor"}, {"name": "redhat ansible automation platform", "fixed": [], "affected": "= 2.7", "ecosystem": "vendor"}, {"name": "redhat migration toolkit for applications", "fixed": ["8.2.0"], "affected": "< 8.2.0", "ecosystem": "vendor"}, {"name": "redhat openshift ai", "fixed": ["3.3.5"], "affected": ">= 3.3, < 3.3.5", "ecosystem": "vendor"}, {"name": "redhat openshift ai", "fixed": ["3.4.2"], "affected": ">= 3.4, < 3.4.2", "ecosystem": "vendor"}, {"name": "redhat openshift lightspeed", "fixed": [], "affected": "", "ecosystem": "vendor"}, {"name": "redhat satellite", "fixed": [], "affected": "= 6.17", "ecosystem": "vendor"}, {"name": "redhat satellite", "fixed": [], "affected": "= 6.18", "ecosystem": "vendor"}, {"name": "redhat satellite", "fixed": [], "affected": "= 6.19", "ecosystem": "vendor"}, {"name": "redhat enterprise linux ai", "fixed": [], "affected": "= 3.0", "ecosystem": "vendor"}]
ecosystems: ["pypi", "vendor"]
tags: ["exploited", "fastapi", "litellm", "llm-gateway", "mcp", "package", "python", "self-hosted", "starlette", "vllm"]
not_affected_if: ["auth-not-based-on-url-path", "static-export"]
published_at: "2026-05-26T22:16:44+00:00"
first_seen_at: "2026-10-23T19:11:51+00:00"
updated_at: "2026-10-23T23:44:52+00:00"
sources: [{"source": "kev", "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search_api_fulltext=CVE-2026-48710", "first_seen_at": "2026-10-23T19:11:51+00:00"}, {"source": "analyst", "url": null, "first_seen_at": "2026-10-23T21:40:25+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-48710", "first_seen_at": "2026-10-23T23:44:52+00:00"}]
---

# Starlette is a lightweight ASGI framework/toolkit

Starlette builds the request URL from the Host header, so an attacker can inject path text into the host part and prepend it to the real path. If authentication checks the reconstructed URL path, the attacker can bypass it; the sources report this is chained with CVE-2026-42271 in LiteLLM for unauthenticated remote code execution.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- vendor:Kludex Starlette affected ? fixed ?
- pypi:starlette affected <= 1.0.0 fixed 1.0.1
- vendor:encode starlette affected >= 0.8.3, < 1.0.1 fixed 1.0.1
- vendor:redhat ai inference server affected >= 3.3.0, <= 3.3.5 fixed ?
- vendor:redhat ansible automation platform affected = 2.6 fixed ?
- vendor:redhat ansible automation platform affected = 2.7 fixed ?
- vendor:redhat migration toolkit for applications affected < 8.2.0 fixed 8.2.0
- vendor:redhat openshift ai affected >= 3.3, < 3.3.5 fixed 3.3.5
- vendor:redhat openshift ai affected >= 3.4, < 3.4.2 fixed 3.4.2
- vendor:redhat openshift lightspeed affected ? fixed ?
- vendor:redhat satellite affected = 6.17 fixed ?
- vendor:redhat satellite affected = 6.18 fixed ?
- vendor:redhat satellite affected = 6.19 fixed ?
- vendor:redhat enterprise linux ai affected = 3.0 fixed ?

## How to check

Check the installed starlette version with pip show starlette; versions 1.0.0 and earlier are affected.

## Fix

Upgrade starlette to 1.0.1 or later.
If LiteLLM or another gateway uses Starlette, also apply that product's fix for CVE-2026-42271.

## Timeline

- 2026-10-23T19:11:51+00:00 kev https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search_api_fulltext=CVE-2026-48710
- 2026-10-23T21:40:25+00:00 analyst — Read GHSA-86qp-5c8j-p5mr, X41/secwest write-up, OSTIF, Horizon3. Fixed in starlette 1.0.1; chain with LiteLLM CVE-2026-42271 confirmed by Horizon3 (unauth RCE). Severity kept high: KEV-listed, public PoC, downstream impact far above CVSS 6.5. No X posts found for BadHost. Note: secwest says affected >=0.8.3; GHSA says <=1.0.0.
- 2026-10-23T23:44:52+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-48710

## Documents

- [advisory] GHSA-86qp-5c8j-p5mr Starlette Host header validation https://github.com/advisories/GHSA-86QP-5C8J-P5MR
- [describes] Horizon3: LiteLLM unauth RCE chaining CVE-2026-42271 + CVE-2026-48710 https://horizon3.ai/attack-research/vulnerabilities/cve-2026-42271-chained-with-cve-2026-48710/
- [mitigation] OSTIF: Disclosing BadHost https://ostif.org/disclosing-the-badhost-vulnerability-in-starlette/
- [poc] BadHost: X41 write-up with PoC, detection, timeline https://www.secwest.net/starlette

## From the sources

Kludex Starlette contains a HTTP request/response smuggling vulnerability that could allow attackers to inject paths into the host part, prepending the actual path leading to issues such as authentication bypass when the authentication depends on the reconstructed URL’s path. This vulnerability could be chaned with CVE-2026-42271.

CISA required action: Apply mitigations in accordance with vendor instructions, ensuring compliance with CISA’s BOD 26-04 Prioritizing Security Updates Based on Risk (see URL in Notes) guidance and CISA’s “Forensics Triage Requirements” (see URL in Notes). Follow applicable BOD 26-04 guidance for cloud services or discontinue use of the product if mitigations are unavailable. Stakeholders are responsible for evaluating each asset's internet exposure and ensuring adherence to BOD 26-04 patching guidelines.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
