starlite-api/starlite · Security

Denial of service vulnerability when parsing multipart request body

GHSA ID
GHSA-p24m-863f-fm6q
CVE ID
CVE-2023-25578
Severity
high
Published
Updated
CVSS
7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v3
7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4
8.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

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.

CWEs

References