Skip to main content
CVE-2026-48710VulnerabilityPublished Updated

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

Affects semgrepSource GCVE Database

0
Compare
Authoritative record:CVE-2026-48710· Medium 6.5

Exploited in the wild · KEV due 16 Sep 2026 · public detection template (Nuclei) : upgrade to 1.165.0 now.

Data as of 31 Oct 2026, 16:23 UTC

CVSS 3.1 base score
6.5Medium
How severe the flaw is on the 0–10 CVSS scale.
KEV deadline
 US federal agencies must patch by this date; a sensible deadline for everyone else. Other KEV due dates
Patch
Available – fixed in 1.165.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

Exploitation evidence

t = 0 is the CVE’s publication on cve.org

  1. Disclosed: evidence found.

    CVE published 26 May 2026

  2. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  3. Exploited in the wild: evidence found.

    Listed in CISA KEV 99 days after disclosure

  4. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

Timeline

  1. CVE ID reserved

    by GitHub, Inc.

    , 4 days before disclosure

  2. CVE published

    on cve.org

    , t = 0

  3. In Threat Radar

    record ingested

    , 24 minutes after disclosure

  4. , 99 days after disclosure

  5. KEV remediation due

    US federal deadline

    , 113 days after disclosure

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), CISA KEV (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.

What to do

Upgrade semgrep to 1.165.0.

Affected software

ProductAffectedFixed in
Homebrewsemgreppkg:brew/semgrepOther threatsAffected
  • >=1.137.0 <1.165.0
Fixed in
  • 1.165.0

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

Upgrade to Starlette version 1.165.0 or later, which includes validation of the Host header per RFC 9112 and RFC 3986 and falls back to the server scope for malformed Host headers. Alternatively, deploy an RFC-compliant reverse proxy (e.g., nginx, Apache, HAProxy, Caddy) in front of the ASGI server to reject malformed Host headers before they reach the application. Review application code to ensure security decisions do not rely on request.url.path but instead use the canonical ASGI path or standard framework mechanisms.

Description

Starlette versions from 1.137.0 up to but not including 1.165.0 improperly validate the HTTP Host header when reconstructing request.url, allowing a malformed Host header to cause request.url.path to differ from the actual requested path. This discrepancy can lead to bypass of path-based security checks if middleware or endpoints rely on request.url.path rather than the canonical ASGI path. The vulnerability does not directly grant access or modify routing but can enable bypass only if applications depend on the flawed request.url.path for authorization. The issue is mitigated by validating the Host header per RFC 9112 and falling back to server scope for malformed values. A fix is available in version 1.165.0.

References

Community reviews

Loading reviews…