CVE-2023-25578
HIGH7.5EPSS 1.3%Denial of service vulnerability when parsing multipart request body
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.
Affected packages (2)
- PyPI/starlitefrom 0, < 1.51.2
- PyPI/starlitefrom 0, < 9674fe803628f986c03fe60769048cbc55b5bf83 | from 0, < 1.51.2
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 4.0 | — | 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 |
| osv | CVSS 3.1 | HIGH7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
References (6)
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2023-25578
- PATCHhttps://github.com/starlite-api/starlite
- WEBhttps://github.com/pypa/advisory-database/tree/main/vulns/starlite/PYSEC-2023-49.yaml
- WEBhttps://github.com/starlite-api/starlite/commit/9674fe803628f986c03fe60769048cbc55b5bf83
- WEBhttps://github.com/starlite-api/starlite/releases/tag/v1.51.2
- WEBhttps://github.com/starlite-api/starlite/security/advisories/GHSA-p24m-863f-fm6q