{"cve":{"cve_id":"CVE-2026-48710","is_kev":true,"kev_date_added":"2026-09-02","kev_vendor_project":"Kludex","kev_product":"Starlette","kev_vulnerability_name":"Kludex Starlette HTTP Request/Response Smuggling Vulnerability","kev_short_description":"Kludex Starlette contains a HTTP request/response smuggling vulnerability that could allow attackers to inject paths into the host part, prepending the actual path leading to issues such as authentication bypass when the authentication depends on the reconstructed URL’s path. This vulnerability could be chaned with CVE-2026-42271.","kev_required_action":"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.","kev_due_date":"2026-09-16","kev_known_ransomware":false,"kev_notes":"This vulnerability affects an open-source component, third-party library, protocol, or proprietary implementation that could be used by different products. For more information, please see: https://github.com/Kludex/starlette/security/advisories/GHSA-86qp-5c8j-p5mr ; BOD 26-04: https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk ; Forensics Triage Requirements: https://www.cisa.gov/news-events/directives/bod-26-04-implementation-guidance-prioritizing-security-updates-based-risk ; https://nvd.nist.gov/vuln/detail/CVE-2026-48710","kev_cwes":["CWE-444"],"epss_score":0.36257,"epss_percentile":0.98392,"epss_as_of":"2026-09-15","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.","published_at":"2026-05-26T21:54:54.393000Z","last_modified_at":"2026-09-04T15:59:29.557000Z","cvss_v3_score":6.5,"cvss_v3_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","cvss_v3_severity":"MEDIUM","cvss_v4_score":null,"cvss_v4_vector":null,"cvss_v4_severity":null,"ssvc_decision":null,"ssvc_exploitation":"active","ssvc_automatable":false,"ssvc_technical_impact":"partial","cwes":["CWE-444","CWE-1289"],"nvd_references":["https://github.com/Kludex/starlette/security/advisories/GHSA-86qp-5c8j-p5mr","https://github.com/Kludex/starlette/commit/764dab0dcfb9033d75442d7a359645c9f94648c6","https://badhost.org","https://github.com/pypa/advisory-database/tree/main/vulns/starlette/PYSEC-2026-161.yaml","https://ostif.org/disclosing-the-badhost-vulnerability-in-starlette","https://www.secwest.net/starlette","https://www.x41-dsec.de/lab/advisories/x41-2026-002-starlette"],"vuln_status":"Analyzed","trending_score":null,"is_trending":false,"has_trended":false,"trended_number_one":false,"trending_peak_score":null,"trending_peak_rank":null,"started_trending_at":null,"trended_number_one_at":null,"summary_generated":null,"summary_generated_at":null,"summary_model":null,"created_at":"2026-06-24T00:09:39.878444Z","updated_at":"2026-09-06T03:34:00.394538Z"},"effective_severity":"MEDIUM","badges":["kev","poc"],"impact_analysis":[],"cvss_v3_decoded":{"version":"3.1","metrics":[{"metric":"AV","name":"Attack Vector","value":"N","value_label":"Network"},{"metric":"AC","name":"Attack Complexity","value":"L","value_label":"Low"},{"metric":"PR","name":"Privileges Required","value":"N","value_label":"None"},{"metric":"UI","name":"User Interaction","value":"N","value_label":"None"},{"metric":"S","name":"Scope","value":"U","value_label":"Unchanged"},{"metric":"C","name":"Confidentiality","value":"L","value_label":"Low"},{"metric":"I","name":"Integrity","value":"L","value_label":"Low"},{"metric":"A","name":"Availability","value":"N","value_label":"None"}]},"cvss_v4_decoded":{"version":null,"metrics":[]},"affected":[{"vendor_slug":"encode","vendor_name":"encode","product_slug":"starlette","product_name":"starlette","version_start":"0.8.3","version_start_inclusive":true,"version_end":"1.0.1","version_end_inclusive":false,"cpe23_uri":"cpe:2.3:a:encode:starlette:*:*:*:*:*:python:*:*"},{"vendor_slug":"kludex","vendor_name":"Kludex","product_slug":"starlette","product_name":"starlette","version_start":"< 1.0.1","version_start_inclusive":true,"version_end":"< 1.0.1","version_end_inclusive":true,"cpe23_uri":"cve5:kludex:starlette:< 1.0.1:< 1.0.1"},{"vendor_slug":"redhat","vendor_name":"RedHat","product_slug":"ai-inference-server","product_name":"ai_inference_server","version_start":"3.3.0","version_start_inclusive":true,"version_end":"3.3.5","version_end_inclusive":true,"cpe23_uri":"cpe:2.3:a:redhat:ai_inference_server:*:*:*:*:*:*:*:*"},{"vendor_slug":"redhat","vendor_name":"RedHat","product_slug":"ansible-automation-platform","product_name":"ansible_automation_platform","version_start":"2.6","version_start_inclusive":true,"version_end":"2.6","version_end_inclusive":true,"cpe23_uri":"cpe:2.3:a:redhat:ansible_automation_platform:2.6:-:*:*:*:*:*:*"},{"vendor_slug":"redhat","vendor_name":"RedHat","product_slug":"ansible-automation-platform","product_name":"ansible_automation_platform","version_start":"2.7","version_start_inclusive":true,"version_end":"2.7","version_end_inclusive":true,"cpe23_uri":"cpe:2.3:a:redhat:ansible_automation_platform:2.7:-:*:*:*:*:*:*"},{"vendor_slug":"redhat","vendor_name":"RedHat","product_slug":"enterprise-linux-ai","product_name":"enterprise_linux_ai","version_start":"3.0","version_start_inclusive":true,"version_end":"3.0","version_end_inclusive":true,"cpe23_uri":"cpe:2.3:o:redhat:enterprise_linux_ai:3.0:*:*:*:*:*:*:*"},{"vendor_slug":"redhat","vendor_name":"RedHat","product_slug":"migration-toolkit-for-applications","product_name":"migration_toolkit_for_applications","version_start":null,"version_start_inclusive":null,"version_end":"8.2.0","version_end_inclusive":false,"cpe23_uri":"cpe:2.3:a:redhat:migration_toolkit_for_applications:*:*:*:*:*:*:*:*"},{"vendor_slug":"redhat","vendor_name":"RedHat","product_slug":"openshift-ai","product_name":"openshift_ai","version_start":"3.3","version_start_inclusive":true,"version_end":"3.3.5","version_end_inclusive":false,"cpe23_uri":"cpe:2.3:a:redhat:openshift_ai:*:*:*:*:*:*:*:*"},{"vendor_slug":"redhat","vendor_name":"RedHat","product_slug":"openshift-lightspeed","product_name":"openshift_lightspeed","version_start":null,"version_start_inclusive":null,"version_end":null,"version_end_inclusive":null,"cpe23_uri":"cpe:2.3:a:redhat:openshift_lightspeed:-:*:*:*:*:*:*:*"},{"vendor_slug":"redhat","vendor_name":"RedHat","product_slug":"satellite","product_name":"satellite","version_start":"6.17","version_start_inclusive":true,"version_end":"6.17","version_end_inclusive":true,"cpe23_uri":"cpe:2.3:a:redhat:satellite:6.17:*:*:*:*:*:*:*"},{"vendor_slug":"redhat","vendor_name":"RedHat","product_slug":"satellite","product_name":"satellite","version_start":"6.18","version_start_inclusive":true,"version_end":"6.18","version_end_inclusive":true,"cpe23_uri":"cpe:2.3:a:redhat:satellite:6.18:*:*:*:*:*:*:*"},{"vendor_slug":"redhat","vendor_name":"RedHat","product_slug":"satellite","product_name":"satellite","version_start":"6.19","version_start_inclusive":true,"version_end":"6.19","version_end_inclusive":true,"cpe23_uri":"cpe:2.3:a:redhat:satellite:6.19:*:*:*:*:*:*:*"}],"exploit_refs":[{"source":"nuclei","kind":"nuclei","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2026/CVE-2026-48710.yaml","title":"Starlette - Improper Validation of Unsafe Equivalence in Input","author":"ritikchaddha","disclosed_at":null}],"news":[],"references":[{"url":"https://github.com/Kludex/starlette/security/advisories/GHSA-86qp-5c8j-p5mr","source_type":"VENDOR_ADVISORY","tags":["advisory"]},{"url":"https://github.com/Kludex/starlette/commit/764dab0dcfb9033d75442d7a359645c9f94648c6","source_type":"PATCH","tags":["patch"]},{"url":"https://badhost.org","source_type":"MISC","tags":[]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/starlette/PYSEC-2026-161.yaml","source_type":"VENDOR_ADVISORY","tags":["advisory"]},{"url":"https://ostif.org/disclosing-the-badhost-vulnerability-in-starlette","source_type":"MISC","tags":[]},{"url":"https://www.secwest.net/starlette","source_type":"MISC","tags":[]},{"url":"https://www.x41-dsec.de/lab/advisories/x41-2026-002-starlette","source_type":"VENDOR_ADVISORY","tags":["advisory"]}],"timeline":[{"type":"published","at":"2026-05-26T21:54:54.393000Z","label":"CVE published","source":null},{"type":"poc_available","at":"2026-06-24T00:29:48.638073Z","label":"Public PoC available","source":"nuclei"},{"type":"cvss_changed","at":"2026-06-28T17:55:03.830140Z","label":"CVSS score revised","source":"cvelistv5"},{"type":"cvss_changed","at":"2026-06-28T17:55:03.830140Z","label":"CVSS score revised","source":"cvelistv5"},{"type":"cvss_changed","at":"2026-06-28T17:55:03.830140Z","label":"CVSS score revised","source":"cvelistv5"},{"type":"ssvc_changed","at":"2026-06-29T23:46:59.033383Z","label":"SSVC decision revised","source":"vulnrichment"},{"type":"ssvc_changed","at":"2026-06-29T23:46:59.033383Z","label":"SSVC decision revised","source":"vulnrichment"},{"type":"ssvc_changed","at":"2026-06-29T23:46:59.033383Z","label":"SSVC decision revised","source":"vulnrichment"},{"type":"cisa_reported","at":"2026-09-02T00:00:00Z","label":"Added to CISA KEV catalog","source":"kev"},{"type":"ssvc_changed","at":"2026-09-03T05:35:30.381744Z","label":"SSVC decision revised","source":"vulnrichment"}]}