CVE-2026-48817 json
Starlette: Arbitrary HTTP method dispatched to `HTTPEndpoint` attributes via `getattr`
published 2026-06-15 4 mo ago modified 2026-10-25 14 d ago also GHSA-x746-7m8f-x49c , PYSEC-2026-2280 , EUVD-2026-37788
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 11%
- public exploits
- 0
- none known
Summary
Starlette is a lightweight ASGI framework/toolkit. In versions 1.0.1 and below, when dispatching a request, HTTPEndpoint selects the handler by lowercasing the HTTP method and looking it up as an attribute with getattr, without restricting the lookup to a known set of HTTP verbs. When an HTTPEndpoint subclass is registered through Route(...) without an explicit methods= argument, the route does not constrain the method and every method reaches the endpoint. If a non-standard HTTP method whose lowercased name matches an attribute on the endpoint subclass reaches the endpoint, that attribute is invoked as if it were a request handler. An attacker can use this to reach methods that were never meant to be HTTP handlers, such as internal helpers, without the authorization checks applied by the intended public handler. An application (including Starlette-based frameworks like FastAPI) is affected if it registers an HTTPEndpoint subclass via Route(...) without explicitly setting methods=, and that subclass includes extra methods named like non-standard HTTP verbs that take one request argument and return a response. This issue has been fixed in version 1.1.0.
Patch / fix
- pypi starlette 1.1.0
- encode starlette 1.1.0
- starlette Debian 12 0.26.1-1+deb12u2
- starlette Debian 13 0.46.1-3+deb13u3
- starlette Debian 14 1.1.0-1
debian advisories DEBIAN-CVE-2026-48817
- python-starlette SLES for SAP applications 16.0, SLES 16.0 0.41.3-160000.4.1
suse advisories SUSE-SU-2026:22360-1
- python-starlette openSUSE Leap 16.0 0.41.3-160000.4.1
opensuse advisories openSUSE-SU-2026:21053-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-48817 updated cvss 5.3
starlette: Starlette: Information disclosure and unintended method execution via non-standard HTTP methods
-
Red Hat Exploit Intelligence exploit-intelligence-tech-preview/vulnerability-analysis-rhel9 Red Hat Migration Toolkit for Applications 8 mta/mta-solution-server-rhel9 Red Hat OpenShift Lightspeed openshift-lightspeed/lightspeed-ocp-rag-rhel9, openshift-lightspeed/lightspeed-service-api-rhel9 Red Hat AI Inference Server rhaii/vllm-cpu-rhel9, rhaii/vllm-tpu-rhel9, rhaii/vllm-cuda-rhel9, rhaii/vllm-rocm-rhel9, rhaiis/vllm-cpu-rhel9, rhaiis/vllm-tpu-rhel9, +7 more Red Hat Ansible Automation Platform 2 ansible-automation-platform-26/mcp-tools-rhel9, ansible-automation-platform-27/mcp-tools-rhel9, ansible-automation-platform-25/lightspeed-chatbot-rhel8, ansible-automation-platform-26/lightspeed-chatbot-rhel9, ansible-automation-platform-27/lightspeed-chatbot-rhel9 Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/bootc-cuda-rhel9, rhelai3/bootc-rocm-rhel9, rhelai3/bootc-gaudi-rhel9, rhelai3/bootc-aws-cuda-rhel9, rhelai3/bootc-gcp-cuda-rhel9, rhelai3/disk-image-cuda-rhel9, +2 moreaffected: workaround, no fix available “Fix deferred”
+2 more productsfewer
Red Hat OpenShift AI (RHOAI) rhoai/odh-automl-rhel9, rhoai/odh-mlflow-rhel9, rhoai/odh-mlserver-rhel9, rhoai/odh-caikit-nlp-rhel9, rhoai/odh-vllm-gaudi-rhel9, rhoai/odh-kserve-agent-rhel9, +30 more Red Hat Satellite 6 satellite/iop-vmaas-rhel9, satellite/foreman-mcp-server-rhel9, satellite/iop-advisor-engine-rhel9, satellite/iop-host-inventory-rhel9, satellite/iop-vulnerability-engine-rhel9 -
Red Hat Hardened Images jaeger Red Hat OpenShift AI (RHOAI) rhoai/odh-vllm-cuda-rhel9, rhoai/odh-vllm-rocm-rhel9not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.21% chance of exploitation in the next 30 days, higher than 11% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
| OSV | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | starlette | <1.1.0 |
1.1.0 |
Affected products
- Kludex starlette
Classification
- Weakness
-
- CWE-470 Use of Externally-Controlled Input to Select Classes or Code
References
-
github.com
/Kludex/starlette/security/advisories/GHSA-x746-7m8f-x49c
web, mitigation, vendor-advisory, advisory
-
github.com
/Kludex/starlette/releases/tag/1.1.0
web, release-notes, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-48817
advisory
-
github.com
/Kludex/starlette
package
Sources
- CVE List CVE-2026-48817
- GitHub Advisory GHSA-x746-7m8f-x49c
- NVD CVE-2026-48817
- OSV PYSEC-2026-2280
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.