Actively exploited · Published May 26, 2026 · Assigned by GitHub_M
CVE-2026-48710Starlette has missing Host header validation that poisons request.url.path, bypassing path-based security checks
Medium 6.5 Exploited
In plain English
A medium-severity security flaw in starlette from Kludex. Attackers are actively exploiting it in the wild (listed by CISA on September 2, 2026). The chance it is exploited in the next 30 days is estimated at 70.3% (higher than 99.4% of all known vulnerabilities). Ready-made attack tooling exists: Nuclei, public proof-of-concept code. Fixed versions are available - upgrade the affected package.
CISA guidance
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.
Federal agencies must remediate by Sep 16, 2026.
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine:v3.24 | py3-starlette | 1.1.0-r0 | ALPINE-CVE-2026-48710 |
| Debian:12 | starlette | 0.26.1-1+deb12u1 | DEBIAN-CVE-2026-48710 |
| Debian:13 | starlette | 0.46.1-3+deb13u2 | DEBIAN-CVE-2026-48710 |
| Debian:14 | starlette | 1.1.0-1 | DEBIAN-CVE-2026-48710 |
| PyPI | starlette | 1.0.1 | PYSEC-2026-161 |
| PyPI | starlette | 1.0.1 | GHSA-86qp-5c8j-p5mr |
| Ubuntu:22.04:LTS | starlette | no fix listed | UBUNTU-CVE-2026-48710 |
| Ubuntu:24.04:LTS | starlette | no fix listed | UBUNTU-CVE-2026-48710 |
| Ubuntu:25.10 | starlette | no fix listed | UBUNTU-CVE-2026-48710 |
| Ubuntu:26.04:LTS | starlette | no fix listed | UBUNTU-CVE-2026-48710 |
| Ubuntu:26.10 | starlette | no fix listed | UBUNTU-CVE-2026-48710 |
Affected products (as reported)
Weakness: CWE-444, CWE-1289 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
References
- https://github.com/Kludex/starlette/security/advisories/GHSA-86qp-5c8j-p5mr x_refsource_CONFIRM
- https://github.com/Kludex/starlette/commit/764dab0dcfb9033d75442d7a359645c9f94648c6 x_refsource_MISC
- https://badhost.org x_refsource_MISC
- https://github.com/pypa/advisory-database/tree/main/vulns/starlette/PYSEC-2026-161.yaml x_refsource_MISC
- https://ostif.org/disclosing-the-badhost-vulnerability-in-starlette x_refsource_MISC
- https://www.secwest.net/starlette x_refsource_MISC
- https://www.x41-dsec.de/lab/advisories/x41-2026-002-starlette x_refsource_MISC
- https:/www.microsoft.com/en-us/security/blog/2026/08/26/when-ai-infrastructure-becomes-target-securing-gateways-control-points third-party-advisory
- https://www.wiz.io/blog/ai-infrastructure-honeypot third-party-advisory
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-48710 government-resource
- https://access.redhat.com/security/cve/CVE-2026-48710 vdb-entry, x_refsource_REDHAT
- RHBZ#2481742 issue-tracking, x_refsource_REDHAT
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-48710.json x_sadp-csaf-vex
- https://access.redhat.com/errata/RHSA-2026:30089 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:30088 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:24866 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:23346 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:43038 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:37275 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:60520 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:34456 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:44696 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:22993 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:26226 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:51357 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:22992 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:34532 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:34526 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:63337 vendor-advisory, x_refsource_REDHAT