Evidence dossier

CVE-2026-48710

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

Exploited in the wild (CISA KEV since Sep 2, 2026). NVD reports CVSS 3.1 6.5. EPSS estimates 7.1% exploit likelihood as of Oct 22, 2026.

61.6–76.5Priority evidence range
Evidence through Oct 22, 2026, 6:07 PM UTC

As of Oct 22, 2026

Normalized restatement

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.

State
PUBLISHED
Published
May 26, 2026
Updated
Oct 1, 2026
Evidence coverage
85%

Evidence chronology

What was known when

Download this view's receipt →
  1. Source dateFirst observed by CASCA
    CISA KEV

    Exploitation cataloged: Kludex Starlette HTTP Request/Response Smuggling Vulnerability

    Inspect raw assertion
    Field
    observed_exploitation
    Value
    Kludex Starlette HTTP Request/Response Smuggling Vulnerability
    Original evidence ↗
  2. Source dateSource date omittedFirst observed by CASCA
    CISA-ADP

    Record text: CISA ADP Vulnrichment

    Inspect raw assertion
    Field
    container
    Value
    CISA ADP Vulnrichment
    Original evidence ↗
  3. Source dateSource date omittedFirst observed by CASCA
    GitHub_M

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

    Inspect raw assertion
    Field
    container
    Value
    Starlette has missing Host header validation that poisons request.url.path, bypassing path-based security checks
    Original evidence ↗
  4. Source dateSource date omittedFirst observed by CASCA
    redhat-SADP

    Record text: starlette: Starlette: Security restriction bypass via malformed HTTP Host header

    Inspect raw assertion
    Field
    container
    Value
    starlette: Starlette: Security restriction bypass via malformed HTTP Host header
    Original evidence ↗
  5. Source dateFirst observed by CASCA
    FIRST EPSS

    EPSS score: 7.06% probability · 94.19th percentile

    Inspect raw assertion
    Field
    model_probability
    Value
    Probability 0.070560000000; percentile 0.941870000000
    Original evidence ↗
ExploitationCatalog member

CISA KEV · catalog date Sep 2, 2026 · first observed Sep 2, 2026

Exploit likelihood7.06%

FIRST EPSS · score date Oct 22, 2026 · 94.2th percentile · first observed Oct 22, 2026

SeverityCVSS 6.5

NVD · CVSS 3.1 · first observed Oct 2, 2026 · same-version scores align in this snapshot

Evidence detail

Source limits and decisions

Why each evidence state has this value

Outside this view’s verified evidence

Reason detail begins outside this selected snapshot; the state remains source-bound.

Source comparison

Who said what

CISA KEVOriginal assertion
Exploitation cataloged

Kludex Starlette HTTP Request/Response Smuggling Vulnerability

Inspect raw assertion
Field
observed_exploitation
Value
Kludex Starlette HTTP Request/Response Smuggling Vulnerability
Source dateFirst observed by CASCAOriginal evidence ↗
CISA-ADPIndependent enrichment
Record text

CISA ADP Vulnrichment

Inspect raw assertion
Field
container
Value
CISA ADP Vulnrichment
Source dateSource date omittedFirst observed by CASCAOriginal evidence ↗
GitHub_MOriginal assertion
Record text

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

Inspect raw assertion
Field
container
Value
Starlette has missing Host header validation that poisons request.url.path, bypassing path-based security checks
Source dateSource date omittedFirst observed by CASCAOriginal evidence ↗
redhat-SADPSource-declared origin
Record text

starlette: Starlette: Security restriction bypass via malformed HTTP Host header

Inspect raw assertion
Field
container
Value
starlette: Starlette: Security restriction bypass via malformed HTTP Host header
Source dateSource date omittedFirst observed by CASCAOriginal evidence ↗
FIRST EPSSOriginal assertion
EPSS score

7.06% probability · 94.19th percentile

Inspect raw assertion
Field
model_probability
Value
Probability 0.070560000000; percentile 0.941870000000
Source dateFirst observed by CASCAOriginal evidence ↗

Applicability

Cited product scope

Trace impact →
1Underlying assertions
1Canonical products
1Target assertions
0Constraint assertions

Grouped from 1 configuration nodes in this exact snapshot. Visual grouping is navigational; asset exposure and root cause require cited evidence.

Identity source boundaries
  • Cpe dictionary1,775,266 records · observed through 2026-07-21T06:45:29.809Z27d65b0f-b718-4b4f-bb79-c47c68d09dfa
  • Cpe match643,502 records · observed through 2026-07-21T08:13:17.697Z955dae73-7302-438b-aee1-058d7cc5d48e

87 scope groups

GitHub_M · source assertedKludexstarletteDirect source scope
Affected: < 1.0.1
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[{"status": "affected", "version": "< 1.0.1"}]
redhat-SADP · source assertedRed HatExploit IntelligenceDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatOpenShift LightspeedDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatOpenShift LightspeedDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat AI Inference ServerDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat AI Inference ServerDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat AI Inference ServerDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat AI Inference ServerDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat AI Inference ServerDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat AI Inference ServerDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat AI Inference ServerDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat AI Inference ServerDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat AI Inference ServerDirect source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat AI Inference Server 3.3Direct source scope
Unaffected: 1782352847 to before * (rpm comparison)
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[{"status": "unaffected", "version": "1782352847", "lessThan": "*", "versionType": "rpm"}]
redhat-SADP · source assertedRed HatRed Hat AI Inference Server 3.3Direct source scope
Unaffected: 1782353093 to before * (rpm comparison)
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[{"status": "unaffected", "version": "1782353093", "lessThan": "*", "versionType": "rpm"}]
redhat-SADP · source assertedRed HatRed Hat Ansible Automation Platform 2Direct source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat Ansible Automation Platform 2Direct source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat Ansible Automation Platform 2.6Direct source scope
Unaffected: 1780102732 to before * (rpm comparison)
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[{"status": "unaffected", "version": "1780102732", "lessThan": "*", "versionType": "rpm"}]
redhat-SADP · source assertedRed HatRed Hat Ansible Automation Platform 2.7Direct source scope
Unaffected: 1780099185 to before * (rpm comparison)
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[{"status": "unaffected", "version": "1780099185", "lessThan": "*", "versionType": "rpm"}]
redhat-SADP · source assertedRed HatRed Hat Enterprise Linux AI (RHEL AI) 3Direct source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat Enterprise Linux AI (RHEL AI) 3Direct source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat Enterprise Linux AI (RHEL AI) 3Direct source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat Enterprise Linux AI (RHEL AI) 3Direct source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat Enterprise Linux AI (RHEL AI) 3Direct source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]
redhat-SADP · source assertedRed HatRed Hat Enterprise Linux AI (RHEL AI) 3Direct source scope
Version details are available in the raw assertion
Source-reported scope

Canonical linkage remains open; the cited source assertion is retained below.

Inspect raw assertion[]

Affected-product evidence

Accepted scope and product mapping

0 canonical links · 0 source-reported links

Applicability remains source-scoped; safety and exposure remain unassessed.

Assessments

CVSS by origin

6.5
NVDCVSS 3.1 · role Primary · priority eligiblevalid_matchCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
6.5
CVE Program sourceCVSS 3.1 · role Secondary · priority eligiblevalid_matchCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
6.5
security-advisories@github.comCVSS 3.1 · role Secondary · priority eligiblevalid_matchCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
6.5
GitHub_MCVSS 3.1 · role unknown · display onlyDirect record assessment retained outside normalized eligibilityCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
6.5
redhat-SADPCVSS 3.1 · role unknown · display onlyDirect record assessment retained outside normalized eligibilityCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

Evidence boundaries

  • KEV membership is authoritative for the catalog, not proof of exposure in any environment.
  • EPSS is a dated model probability and not an individual-environment prediction.
  • Affected or fixed status applies only to the exact cited product and version scope; remaining scope stays source-scoped.
  • NVD-carried upstream facts remain derivative; independent corroboration requires a separately authored source.
  • Only NVD metrics validated under the generation-bound calculator are Public Priority eligible; direct CVE record metrics remain display-only.
  • NVD CVSS source eligibility is closed: NVD-authored, exact record-source, or registered same-CVE container origin; unmapped sources remain display-only.
  • Affected-product evidence remains source-scoped; canonical linkage is required before applicability scoring.
  • Core replay supports the active and immediately prior generation; retrospective valid-at replay is deferred.
  • OSV aggregation and OSV-converted NVD material are not independent corroboration.
  • Red Hat facts are vendor assertions for the exact supplied products.
  • Nonmembership and not-yet-observed states are not proof of safety.