CVE-2023-30798: MultipartParser DOS with too many fields or files in Starlette Framework
There MultipartParser usage in Encode's Starlette python framework before versions 0.25.0 allows an unauthenticated and remote attacker to specify any number of form fields or files which can cause excessive memory usage resulting in denial of service of the HTTP service.
Security readout for executives and security teams
Plain-English summary
Starlette versions before 0.25.0 could let an unauthenticated remote user exhaust server memory by submitting multipart form data with too many fields or files. The expected impact is service downtime, not data theft or modification, based on the provided sources.
Executive priority
Treat as high priority for internet-facing Starlette services handling forms or uploads. Patch promptly, but the provided evidence supports availability risk, not confirmed compromise or active exploitation.
Technical view
CVE-2023-30798 is a CWE-400 resource consumption flaw in Starlette's MultipartParser. Before 0.25.0, parsing multipart forms did not sufficiently limit field or file counts, allowing network-reachable attackers to drive excessive memory usage and deny HTTP service availability.
Likely exposure
Exposure is most likely in applications using the Python package starlette before 0.25.0, especially public routes that parse multipart forms or file uploads.
Exploitation context
The bundle supports remote, unauthenticated denial of service with low attack complexity. It does not show CISA KEV listing or cited evidence of active exploitation.
Researcher notes
CVSS 3.1 score is 7.5, vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. Sources name Encode Starlette and package starlette only; do not broaden affected scope without separate evidence.
Mitigation direction
Upgrade Starlette to version 0.25.0 or later.
Prioritize public endpoints that accept multipart forms or file uploads.
Review the vendor advisory and patch commit before finalizing remediation.
Apply documented request-size and form-parsing limits where available.
Monitor memory and availability metrics during rollout.
Validation and detection
Inventory deployed Python dependencies for starlette versions below 0.25.0.
Identify routes that parse multipart form data or file uploads.
Confirm patched versions in lockfiles, images, and runtime environments.
Review recent memory spikes or availability alerts on multipart endpoints.
Use safe staging tests to confirm form limits and service stability.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-400: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-400 · source CWE mapping
Uncontrolled Resource Consumption
Uncontrolled Resource Consumption represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.