CVE-2026-54282
Undergoing Analysis Undergoing Analysis - In Progress
Path Traversal in Starlette Framework

Publication date: 2026-06-22

Last updated on: 2026-06-22

Assigner: GitHub, Inc.

Description
Starlette is a lightweight ASGI framework/toolkit. Prior to 1.3.0, the HTTP request path is not validated before being used to reconstruct request.url. Because request.url is rebuilt by concatenating {scheme}://{host}{path} and re-parsing the result, a path that does not begin with / (for example @google.com) moves the authority boundary during re-parsing, so request.url.hostname and request.url.netloc become attacker-controlled. Code that reads request.url.hostname (rather than the Host header or scope) can therefore be misled into trusting an attacker-supplied host. This vulnerability is fixed in 1.3.0.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-22
Last Modified
2026-06-22
Generated
2026-06-23
AI Q&A
2026-06-22
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Currently, no data is known.
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-706 The product uses a name or reference to access a resource, but the name/reference resolves to a resource that is outside of the intended control sphere.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

The vulnerability CVE-2026-54282 affects Starlette versions prior to 1.3.0. It occurs because the HTTP request path is not properly validated before being used to reconstruct the request URL.

If the path does not start with a forward slash (for example, "@google.com"), it can manipulate the URL's authority section during re-parsing. This causes the values of request.url.hostname and request.url.netloc to be attacker-controlled.

Applications that rely on these values for security-sensitive decisions, such as host-based authorization, redirects, or SSRF checks, can be misled by an attacker.

The root cause is the direct concatenation of the path after the host without validation or a separating slash.

This vulnerability is fixed in Starlette version 1.3.0 and later, which prevents the path from crossing into the URL authority.

Impact Analysis

This vulnerability can impact applications that use Starlette by allowing an attacker to control the hostname and network location parts of the reconstructed request URL.

If the application relies on request.url.hostname for security decisions such as host-based authorization, redirects, or server-side request forgery (SSRF) protections, an attacker could bypass these controls.

However, the impact is somewhat limited because routing returns a 404 error for malformed paths, but middleware or exception handlers that read request.url before routing could still be affected.

To mitigate this risk, upgrading to Starlette version 1.3.0 or later is recommended.

Detection Guidance

This vulnerability involves the HTTP request path not being validated before reconstructing the request URL, allowing attacker-controlled manipulation of request.url.hostname and request.url.netloc if the path does not start with a forward slash.

To detect this vulnerability on your system, you can monitor or test for HTTP requests with paths that do not begin with a forward slash, such as paths starting with '@' or other characters, which could manipulate the URL authority.

Since the vulnerability is related to how the application processes incoming HTTP requests, you can use tools like curl or HTTP request interceptors to send crafted requests and observe the application's behavior.

  • Use curl to send a request with a malformed path: curl -v http://yourserver/@google.com
  • Check application logs or debugging output for unexpected values in request.url.hostname or request.url.netloc.
  • If possible, add logging or debugging in middleware or exception handlers to capture and inspect request.url values before routing.
Mitigation Strategies

The primary and recommended mitigation is to upgrade Starlette to version 1.3.0 or later, where the vulnerability is fixed by preventing the path from crossing into the URL authority.

Until the upgrade can be applied, review your application code to avoid relying on request.url.hostname or request.url.netloc for security-sensitive decisions such as host-based authorization, redirects, or SSRF checks.

Consider validating or sanitizing the HTTP request path to ensure it always begins with a forward slash before it is used to reconstruct URLs.

Compliance Impact

The provided information does not specify any direct impact of this vulnerability on compliance with common standards and regulations such as GDPR or HIPAA.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-54282. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart