Kludex · Starlette · Kludex Starlette HTTP Request/Response Smuggling Vulnerability
Verdict
Patch first · actively exploited, reachable from the internet without credentials, and in the top 10% of CVEs by near-term exploitation probability
Added to CISA KEV 2026-09-02 · exploited in the wild for 25 days
CVSS 6.5 MEDIUM. The score is a summary; these three components are the part that decides whether something scanning the internet can use it.
| Attack vector | networkreachable over the network, with no local access needed |
|---|---|
| Privileges required | noneneeds no credentials at all |
| User interaction | nonecan be triggered with nobody interacting with the page or request |
| Base vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N |
| Weakness | CWE-444 |
This describes the vulnerability. It says nothing about whether your systems run it.
EPSS puts the probability of exploitation in the next 30 days at 0.0706, which places it in the top 10% of all tracked CVEs. The percentile is the more useful half: 0.18 in absolute terms sounds low until you know most of the internet-facing software in the world scores under that.
| EPSS probability | 0.0706 |
|---|---|
| Percentile | 0.940 — top 10% |
| Added to KEV | 2026-09-02 |
|---|---|
| Days exploited | 25 |
| Federal remediation due | not set |
| Ransomware use | no known ransomware campaign use |
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.
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.