vulnerability / NVI-00001162 / Revision 4
Starlette has missing Host header validation that poisons request.url.path, bypassing path-based security checks
GitHub lists this reviewed advisory for starlette. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.
This report has not inspected your inventory, configuration, deployed build, reachability or evidence. A catalog listing and a severity score do not establish exposure or compromise.
01 / Meaning
Why it matters
Published affected context helps an owner decide what evidence to gather. This report has not examined your application.
6.5 medium
GitHub source severity; exploitability and local consequence require separate evidence.
As of · GitHub Advisory Database
Listed
CISA lists known exploitation. This does not establish exploitation of your system.
As of · CISA
6.5 MEDIUM (3.1)
security-advisories@github.com severity; no combined Null risk score.
6.5 MEDIUM (3.1)
nvd@nist.gov severity; no combined Null risk score.
6.5 MEDIUM (3.1)
0b0ca135-0b70-47e7-9f44-1890c2a1c46c severity; no combined Null risk score.
70.288%
FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.99383. Missing scores are unknown.
As of · FIRST EPSS
02 / Applicability
The affected context
Affected versions, configuration prerequisites and known exclusions are public. Confirm each one against the deployed service.
starlette
source listed<= 1.0.0
### Summary In affected versions, 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. ### Details When a client requests `http://example.com/foo`, it sends: ```http GET /foo HTTP/1.1 Host: example.com ``` Affected versions reconstructed the URL by concatenating `http://{host}{path}` and re-parsing the result. The `Host` value is only valid as a `uri-host [ ":" port ]` per RFC 9112 §3.2, where `uri-host` follows the restricted `host` grammar of RFC 3986 §3.2.2. When it contains characters outside that grammar - notably `/`, `?`, or `#` - those characters move the path/query/fragment boundaries during re-parsing, so the parsed `request.url.path` no longer matches the
Kludex Starlette
source listedThe linked source does not supply a complete affected-version range here.
CISA does not supply a complete application-specific affected range here. Follow the linked vendor advisory for version and configuration prerequisites.
03 / Response
What to do next
- investigate
Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.
Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system. FIRST EPSS
- investigate
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.
Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system. CISA
A fixed release is not deployment evidence.
Check current vendor support and compatibility. After making a change, verify the deployed build and relevant runtime conditions. Keep the evidence, owner and time. An updated lockfile alone does not prove what is running.
04 / Limits
What this report cannot establish
- Customer inventory, deployment, reachability and exploitation have not been inspected.
- CISA catalog date-added and due-date fields are not the original vulnerability disclosure date or universal legal deadlines.
- NVD lastModified does not establish freshness of every associated CPE record.
05 / Provenance
Sources you can inspect
Each assertion retains its source. Mirrored records may repeat one underlying publisher; additional links are not independent corroboration.
- GHSA-86qp-5c8j-p5mr ↗
GitHub Advisory Database · vendor advisory
Observed . GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.
- CVE-2026-48710 ↗
CISA · official catalog
Observed . CISA KEV; CC0 1.0. Catalog assertions are not evidence of customer compromise.
- CVE-2026-48710 ↗
NIST National Vulnerability Database · official catalog
Observed . This product uses data from the NVD API but is not endorsed or certified by the NVD.
- CVE-2026-48710 ↗
FIRST EPSS · official catalog
Observed . FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.
Public revision history
Only published revisions appear here. Routine fetches do not create a material-change event.
- Revision 4 ·
Source facts changed; compare the preserved prior revision.
- Revision 3 ·
Source facts changed; compare the preserved prior revision.
- Revision 1 ·
First indexed by Null; source disclosure date is shown separately.