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

Summary

CVECVE-2026-48710
StatePUBLISHED
AssignerGitHub_M
Source PriorityCVE Program / NVD first with legacy fallback
Published2026-05-26 22:16:44 UTC
Updated2026-07-10 12:17:06 UTC
DescriptionStarlette 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.

Risk And Classification

Primary CVSS: v3.1 6.5 MEDIUM from [email protected]

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

EPSS: 0.014380000 probability, percentile 0.700340000 (date 2026-07-12)

Problem Types: CWE-444 | CWE-1289 | CWE-444 CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') | CWE-1289 Improper Validation of Unsafe Equivalence in Input


VersionSourceTypeScoreSeverityVector
3.1[email protected]Primary6.5MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
3.1ADPCVSS6.5MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
3.1[email protected]Secondary6.5MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
3.10b0ca135-0b70-47e7-9f44-1890c2a1c46cSecondary6.5MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
3.1CNADECLARED6.5MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

CVSS v3.1 Breakdown

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

NVD Known Affected Configurations (CPE 2.3)

TypeVendorProductVersionUpdateEditionLanguage
Application Encode Starlette All All All All

Vendor Declared Affected Products

SourceVendorProductVersionPlatforms
CNA Kludex Starlette affected < 1.0.1 Not specified
ADP Red Hat Red Hat AI Inference Server 3.3 Not specified Not specified
ADP Red Hat Red Hat Ansible Automation Platform 2.6 Not specified Not specified
ADP Red Hat Red Hat Ansible Automation Platform 2.7 Not specified Not specified
ADP Red Hat Red Hat OpenShift AI 3.3 Not specified Not specified
ADP Red Hat Red Hat OpenShift AI 3.4 Not specified Not specified
ADP Red Hat Red Hat Satellite 6.18 Not specified Not specified
ADP Red Hat Red Hat Satellite 6.19 Not specified Not specified
ADP Red Hat Exploit Intelligence Not specified Not specified
ADP Red Hat Migration Toolkit For Applications 8 Not specified Not specified
ADP Red Hat OpenShift Lightspeed Not specified Not specified
ADP Red Hat Red Hat AI Inference Server Not specified Not specified
ADP Red Hat Red Hat Enterprise Linux AI RHEL AI 3 Not specified Not specified
ADP Red Hat Red Hat OpenShift AI RHOAI Not specified Not specified
ADP Red Hat Red Hat Satellite 6 Not specified Not specified
ADP Red Hat Red Hat Ansible Automation Platform 2 Not specified Not specified

References

ReferenceSourceLinkTags
ostif.org/disclosing-the-badhost-vulnerability-in-starlette [email protected] ostif.org Mitigation, Third Party Advisory
github.com/Kludex/starlette/commit/764dab0dcfb9033d75442d7a359645c9f94648c6 [email protected] github.com Patch
github.com/pypa/advisory-database/tree/main/vulns/starlette/PYSEC-2026-1... [email protected] github.com Third Party Advisory
access.redhat.com/errata/RHSA-2026:34456 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
access.redhat.com/errata/RHSA-2026:23346 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
github.com/Kludex/starlette/security/advisories/GHSA-86qp-5c8j-p5mr [email protected] github.com Vendor Advisory
security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-48710.json 0b0ca135-0b70-47e7-9f44-1890c2a1c46c security.access.redhat.com
access.redhat.com/errata/RHSA-2026:22992 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
badhost.org [email protected] badhost.org Mitigation, Third Party Advisory
access.redhat.com/errata/RHSA-2026:34526 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
www.secwest.net/starlette [email protected] www.secwest.net Exploit, Mitigation, Third Party Advisory
bugzilla.redhat.com/show_bug.cgi 0b0ca135-0b70-47e7-9f44-1890c2a1c46c bugzilla.redhat.com
access.redhat.com/errata/RHSA-2026:37275 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
access.redhat.com/errata/RHSA-2026:30089 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
access.redhat.com/errata/RHSA-2026:22993 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
www.x41-dsec.de/lab/advisories/x41-2026-002-starlette [email protected] www.x41-dsec.de Exploit, Mitigation, Third Party Advisory
access.redhat.com/errata/RHSA-2026:30088 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
access.redhat.com/security/cve/CVE-2026-48710 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
access.redhat.com/errata/RHSA-2026:24866 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
access.redhat.com/errata/RHSA-2026:26226 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
access.redhat.com/errata/RHSA-2026:34532 0b0ca135-0b70-47e7-9f44-1890c2a1c46c access.redhat.com
www.cve.org/CVERecord MITRE www.cve.org
NVD vulnerability detail NVD nvd.nist.gov canonical, analysis

Additional Advisory Data

SourceTimeEvent
ADP2026-05-26T23:01:03.204ZReported to Red Hat.
ADP2026-05-26T21:54:54.393ZMade public.

Solutions

ADP: RHSA-2026:30089: Red Hat AI Inference Server 3.3

ADP: RHSA-2026:30088: Red Hat AI Inference Server 3.3

ADP: RHSA-2026:24866: Red Hat Ansible Automation Platform 2.6

ADP: RHSA-2026:23346: Red Hat Ansible Automation Platform 2.7

ADP: RHSA-2026:37275: Red Hat OpenShift AI 3.3

ADP: RHSA-2026:34456: Red Hat OpenShift AI 3.4

ADP: RHSA-2026:22993: Red Hat Satellite 6.18

ADP: RHSA-2026:26226: Red Hat Satellite 6.18

ADP: RHSA-2026:22992: Red Hat Satellite 6.19

ADP: RHSA-2026:34532: Red Hat Satellite 6.19

ADP: RHSA-2026:34526: Red Hat Satellite 6.19

Workarounds

ADP: Deploying an RFC-compliant reverse proxy (such as nginx, Apache, HAProxy, or Caddy) in front of the ASGI server will reject malformed Host headers before they reach the application. This is the most straightforward mitigation that does not require code changes. If custom middleware is present, it should be updated to use `request.scope["path"]` instead of `request.url.path` for any security decisions. The ASGI scope path is derived from the HTTP request line and is not influenced by the Host header, so it reflects the actual request target.

© CVE.report 2026 |

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report