GitHub Advisoryadvisory · PyPI

GHSA-p24m-863f-fm6q Denial of service vulnerability when parsing multipart request body

HIGH Published 2023-02-15 Modified 2024-10-28 Official page ↗
Aliases
CVE-2023-25578
Ecosystem
PyPI
Packages
starlite
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-400, CWE-770
Reviewed
2023-02-15

Affected packages

• PyPI starlite: < 1.51.2 → fixed in 1.51.2

Description

Summary The request body parsing in `starlite` allows a potentially unauthenticated attacker to consume a large amount of CPU time and RAM. Details The multipart body parser processes an unlimited number of file parts. The multipart body parser processes an unlimited number of field parts. Impact This is a remote, potentially unauthenticated Denial of Service vulnerability. This vulnerability affects applications with a request handler that accepts a `Body(media_type=RequestEncodingType.MULTI_PART)`. The large amount of CPU time required for processing requests can block all available worker processes and significantly delay or slow down the processing of legitimate user requests. The large amount of RAM accumulated while processing requests can lead to Out-Of-Memory kills. Complete DoS is achievable by sending many concurrent multipart requests in a loop.

Related

Alias · CVE (1)

  • CVE-2023-25578 Starlite is an Asynchronous Server Gateway Interface (ASGI) framework. vulnerability

Weakness · CWE (2)

  • CWE-400 Uncontrolled Resource Consumption weakness
  • CWE-770 Allocation of Resources Without Limits or Throttling weakness

References