Read the docs
TI-2026-36086 Aliases CVE-2026-48817GHSA-x746-7m8f-x49c

Starlette: Arbitrary HTTP method dispatched to `HTTPEndpoint` attributes via `getattr`

Priority LOW 29CWE-470Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · Low · None
Fix status
Partial Red Hat: 8 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00213 11th percentileScored 2026-11-07
Fix Partial starlette (Kludex): 1.1.0starlette (PyPI): 1.1.0Red Hat: 8 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
Kludexstarlettebefore 1.1.01.1.0Patch availableCNA
—starlette (PyPI)before 1.1.01.1.0Patch availableGHSA-x746-7m8f-x49c
  • starlette VendorKludex Affected before 1.1.0 Fixed in 1.1.0 Patch available CNA
  • starlette (PyPI) Vendor— Affected before 1.1.0 Fixed in 1.1.0 Patch available GHSA-x746-7m8f-x49c

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:encode:starlette:*:*:*:*:*:python:*:*before 1.1.0Vulnerableencode
  • cpe:2.3:a:encode:starlette:*:*:*:*:*:python:*:* Versions before 1.1.0 Vulnerable ·encode

Remediation

  • Fix · CNA starlette (Kludex) Fixed in 1.1.0
  • Fix · GHSA-x746-7m8f-x49c starlette (PyPI) Fixed in 1.1.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Exploit IntelligenceAffectedNo fix yet: Fix deferred
Migration Toolkit for Applications 8AffectedNo fix yet: Fix deferred
OpenShift LightspeedAffectedNo fix yet: Fix deferred
Red Hat AI Inference ServerAffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat Satellite 6AffectedNo fix yet: Fix deferred
Not affected: 2 products
  • Red Hat Hardened Images
  • Red Hat OpenShift AI (RHOAI)

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-48817
  2. 2026-10-03 Alias added: GHSA-x746-7m8f-x49c

References

  • TI-2025-38917 Starlette vulnerable to O(n^2) DoS via Range header merging in starlette.responses.FileResponse CVSS 3.1HIGH 7.5
  • TI-2026-30841 Python-Multipart: Denial of Service via unbounded multipart part headers CVSS 3.1HIGH 7.5
  • TI-2024-36140 python-multipart has a Denial of service (DoS) via deformation `multipart/form-data` boundary CVSS 3.1HIGH 7.5

Sources