Oterm: Starlette has missing Host header validation that poisons request.url.path, bypassing path-based security
Affects Kludex otermSource GCVE Database
Exploited in the wild · KEV due 16 Sep 2026 · public detection template (Nuclei) : upgrade to 0.17.2_1 now.
Data as of 1 Nov 2026, 02:07 UTC
- KEV deadline
- US federal agencies must patch by this date; a sensible deadline for everyone else. Other KEV due dates
- Patch
- Available – fixed in 0.17.2_1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:NExploitation evidence
t = 0 is the CVE’s publication on cve.org
Disclosed: evidence found.
CVE published 26 May 2026
Detectable: evidence found.
nuclei template: Starlette - Improper Validation of Unsafe Equivalence in Input
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: evidence found.
Listed in CISA KEV 99 days after disclosure
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
Timeline
CVE ID reserved
by GitHub, Inc.
, 4 days before disclosure
CVE published
on cve.org
, t = 0
In Threat Radar
record ingested
, 24 minutes after disclosure
Added to CISA KEV (opens in a new tab)
exploitation confirmed
, 99 days after disclosure
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 31 Oct 2026.
What to do
Upgrade Kludex oterm to 0.17.2_1.
Patches and advisories
- access.redhat.com/errata/RHSA-2026:60520 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:51357 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:44696 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:43038 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:37275 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:34532 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:34526 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:34456 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:30089 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:30088 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:26226 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:24866 (opens in a new tab)
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewotermpkg:brew/otermOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
A vulnerability in Starlette versions >=0.13.1 and <0.17.2_1 allows an attacker to send a malformed HTTP Host header that causes the reconstructed request.url.path to differ from the actual requested path. This discrepancy can bypass security checks that rely on request.url.path for path-based authorization. The issue is fixed in version 0.17.2_1. The impact depends on application design, specifically if security decisions are based on request.url.path rather than the canonical ASGI path. Reverse proxies that validate Host headers can mitigate this risk.
References
- github.com/Kludex/starlette/security/advisories/GHSA-86qp-5c8j-p5mr (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-48710 (opens in a new tab)
- github.com/Kludex/starlette/commit/764dab0dcfb9033d75442d7a359645c9f94648c6 (opens in a new tab)
- x41-dsec.de/lab/advisories/x41-2026-002-starlette (opens in a new tab)
- secwest.net/starlette (opens in a new tab)
- cve.org/CVERecord?id=CVE-2026-48710 (opens in a new tab)
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-48710.json (opens in a new tab)
- ostif.org/disclosing-the-badhost-vulnerability-in-starlette (opens in a new tab)
- github.com/pypa/advisory-database/tree/main/vulns/starlette/PYSEC-2026-161.yaml (opens in a new tab)
- github.com/Kludex/starlette (opens in a new tab)
- bugzilla.redhat.com/show_bug.cgi?id=2481742 (opens in a new tab)
- badhost.org (opens in a new tab)
- access.redhat.com/security/cve/CVE-2026-48710 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:60520 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:51357 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:44696 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:43038 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:37275 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:34532 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:34526 (opens in a new tab)