CVE-2026-48710
Public on
Last Modified:
Description
A flaw was found in Starlette, a lightweight ASGI (Asynchronous Server Gateway Interface) framework. A remote attacker could exploit this vulnerability by sending a specially crafted HTTP Host request header. This malformed header could cause the request.url to be incorrectly reconstructed, leading to a discrepancy with the actual requested path. Consequently, security restrictions enforced by middleware and endpoints that rely on request.url for validation could be bypassed, potentially allowing unauthorized access or actions.
Statement
The impact is rated as Critical because path-based authentication and access control middleware can be completely bypassed by an unauthenticated remote attacker using a crafted HTTP Host header.
Starlette reconstructs request.url by combining the HTTP Host header value with the request path, but performs no validation on the Host header. An attacker can inject path separators or query characters into the Host header (e.g., Host: example.com/health?x=), causing request.url.path to return a value that differs from the actual HTTP request path used for routing. Middleware that enforces authentication or authorization decisions based on request.url.path will evaluate the injected path rather than the real one, allowing the attacker to reach protected endpoints.
With regard to CVSS metrics, the Attack Vector (AV) is Network and Privileges Required (PR) is None, because the attack requires only the ability to send HTTP requests with a crafted Host header. User interaction is not required.
Red Hat Satellite / Insights (IoP): The starlette package is included as a dependency of Connexion, but this flaw is rated Low impact because these services do not use path-based authentication middleware and all services are deployed behind reverse proxies.
OpenShift Lightspeed (OLS): The starlette package is included as a dependency, but this flaw is rated Low impact because authentication is enforced via Kubernetes TokenReview/SubjectAccessReview through FastAPI dependency injection, not path-based middleware; request.url.path is only used for metrics and response header application.
RHOAI Kubeflow Training images: starlette is being used as indirect dependency of mlflow, but this flaw is rated as Low impact because mlflow is used as client library only to store training metrics on remote server, it doesn't expose any endpoint.
RHOAI odh-automl: The impact is reduced to Low since starlette is only used in the backend and it's transient dependency and starlette is not used at all to serve any endpoints.
RHOAI odh-kserve-autogluon-server-rhel9: While the Starlette dependency is present in the build, the vulnerable code in starlette is not reachable. This reduces the impact to low.
Mitigation
Deploying an RFC-compliant reverse proxy (such as nginx, Apache, HAProxy, or Caddy) in front of the ASGI server will reject malformed Host headers before they reach the application. This is the most straightforward mitigation that does not require code changes.
If custom middleware is present, it should be updated to use `request.scope["path"]` instead of `request.url.path` for any security decisions. The ASGI scope path is derived from the HTTP request line and is not influenced by the Host header, so it reflects the actual request target.
Additional Information
- This content is not included.Bugzilla 2481742: starlette: Starlette: Security restriction bypass via malformed HTTP Host header
- Content from cwe.mitre.org is not included.CWE-1289: Improper Validation of Unsafe Equivalence in Input
- FAQ: Frequently asked questions about CVE-2026-48710
- Offline Security Data data is available for integration with other systems. See Offline Security Data API to get started.
External References
Content from www.cve.org is not included.https://www.cve.org/CVERecord?id=CVE-2026-48710
Content from nvd.nist.gov is not included.https://nvd.nist.gov/vuln/detail/CVE-2026-48710
Content from badhost.org is not included.https://badhost.org
Content from www.secwest.net is not included.https://www.secwest.net/starlette
Affected Packages and Issued Red Hat Security Errata
| Products / Services | Components | State | Errata |
|---|---|---|---|
| Exploit Intelligence | exploit-intelligence-tech-preview/vulnerability-analysis-rhel9 | Affected | |
| Migration Toolkit for Applications 8 | mta/mta-solution-server-rhel9 | Affected | |
| OpenShift Lightspeed | openshift-lightspeed/lightspeed-ocp-rag-rhel9 | Affected | |
| OpenShift Lightspeed | openshift-lightspeed/lightspeed-service-api-rhel9 | Affected | |
| Red Hat AI Inference Server | rhaii/vllm-cpu-rhel9 | Affected | |
| Red Hat AI Inference Server | rhaii/vllm-cuda-rhel9 | Affected | |
| Red Hat AI Inference Server | rhaii/vllm-rocm-rhel9 | Affected | |
| Red Hat AI Inference Server | rhaii/vllm-spyre-rhel9 | Affected | |
| Red Hat AI Inference Server | rhaiis/vllm-cuda-rhel9 | Affected | |
| Red Hat AI Inference Server | rhaiis/vllm-rocm-rhel9 | Affected | |
| Red Hat AI Inference Server | rhaiis/vllm-spyre-rhel9 | Affected | |
| Red Hat AI Inference Server | rhaiis/vllm-tpu-rhel9 | Affected | |
| Red Hat AI Inference Server | rhaii/vllm-gaudi-rhel9 | Will not fix | |
| Red Hat AI Inference Server | rhaii/vllm-neuron-rhel9 | Will not fix | |
| Red Hat AI Inference Server | rhaii/vllm-tpu-rhel9 | Will not fix | |
| Red Hat AI Inference Server | rhaiis/vllm-cpu-rhel9 | Will not fix | |
| Red Hat AI Inference Server | rhaiis/vllm-neuron-rhel9 | Will not fix | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-25/lightspeed-chatbot-rhel8 | Not affected | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-26/mcp-tools-rhel9 | Not affected | |
| Red Hat Ansible Automation Platform 2.6 | ansible-automation-platform-26/lightspeed-chatbot-rhel9 | Fixed | RHSA-2026:24866 |
| Red Hat Ansible Automation Platform 2.7 | ansible-automation-platform-27/lightspeed-chatbot-rhel9 | Fixed | RHSA-2026:23346 |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/bootc-aws-cuda-rhel9 | Affected | |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/bootc-azure-cuda-rhel9 | Affected | |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/bootc-azure-rocm-rhel9 | Affected | |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/bootc-cuda-rhel9 | Affected | |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/bootc-gaudi-rhel9 | Affected | |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/bootc-gcp-cuda-rhel9 | Affected | |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/bootc-rocm-rhel9 | Affected | |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | rhelai3/disk-image-cuda-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-automl-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-built-in-detector-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-caikit-nlp-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-caikit-tgis-serving-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-feature-server-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-guardrails-detector-huggingface-runtime-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-kserve-autogluon-server-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-kserve-storage-initializer-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-llama-stack-core-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-llm-d-kv-cache-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-mlflow-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-pipeline-runtime-datascience-cpu-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-pipeline-runtime-pytorch-cuda-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-pipeline-runtime-pytorch-rocm-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-pipeline-runtime-tensorflow-cuda-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-pipeline-runtime-tensorflow-rocm-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-th06-cpu-torch210-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-th06-cuda130-torch210-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-th06-rocm64-torch291-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-training-cuda128-torch29-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-trustyai-garak-lls-provider-dsp-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-trustyai-nemo-guardrails-server-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-vllm-cuda-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-vllm-gaudi-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-vllm-rocm-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-workbench-jupyter-datascience-cpu-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-workbench-jupyter-pytorch-cuda-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-workbench-jupyter-pytorch-rocm-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-workbench-jupyter-tensorflow-cuda-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-workbench-jupyter-tensorflow-rocm-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-workbench-jupyter-trustyai-cpu-py312-rhel9 | Affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-kserve-agent-rhel9 | Not affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-kserve-controller-rhel9 | Not affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-kserve-router-rhel9 | Not affected | |
| Red Hat OpenShift AI (RHOAI) | rhoai/odh-mlserver-rhel9 | Not affected | |
| Red Hat Satellite 6 | satellite/iop-advisor-engine-rhel9 | Affected | |
| Red Hat Satellite 6 | satellite/iop-vmaas-rhel9 | Affected | |
| Red Hat Satellite 6 | satellite/iop-vulnerability-engine-rhel9 | Affected | |
| Red Hat Satellite 6.18 | satellite/foreman-mcp-server-rhel9 | Fixed | RHSA-2026:22993 |
| Red Hat Satellite 6.18 | satellite/iop-host-inventory-rhel9 | Fixed | RHSA-2026:26226 |
| Red Hat Satellite 6.19 | satellite/foreman-mcp-server-rhel9 | Fixed | RHSA-2026:22992 |
Common Vulnerability Scoring System (CVSS) Score Details
Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authorities (CNA) source for its products and services (see Red Hat classifications ).
| CVSS v3 Score Breakdown | Red Hat | NVD |
|---|---|---|
| CVSS v3 Base Score | 6.5 | 6.5 |
| Attack Vector | Network | Network |
| Attack Complexity | Low | Low |
| Privileges Required | None | None |
| User Interaction | None | None |
| Scope | Unchanged | Unchanged |
| Confidentiality Impact | Low | Low |
| Integrity Impact | Low | Low |
| Availability Impact | None | None |
CVSS v3 Vector
Red Hat CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
NVD CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Frequently Asked Questions
Why is Red Hat's CVSS v3 score or Impact different from other vendors?
For more information, see https://access.redhat.com/solutions/762393.
My product is listed as "Under investigation" or "Affected", when will Red Hat release a fix for this vulnerability?
- "Under investigation" doesn't necessarily mean that the product is affected by this vulnerability. It only means that our Analysis Team is still working on determining whether the product is affected and how it is affected.
- "Affected" means that our Analysis Team has determined that this product is affected by this vulnerability and might release a fix to address this in the near future.
What can I do if my product is listed as "Will not fix"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Upgrade to a supported product version that includes a fix for this vulnerability (recommended).
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
What can I do if my product is listed as "Fix deferred"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
- Red Hat Engineering focuses on addressing high-priority issues based on their complexity or limited lifecycle support. Therefore, lower-priority issues will not receive immediate fixes.
What is a mitigation?
I have a Red Hat product but it is not in the above list, is it affected?
Why is my security scanner reporting my product as vulnerable to this vulnerability even though my product version is fixed or not affected?
My product is listed as "Out of Support Scope". What does this mean?
Not sure what something means? Check out our Security Glossary.