PYSEC-2023-49
Vulnerability from pysec - Published: 2023-02-15 15:15 - Updated: 2023-05-04 03:49Starlite is an Asynchronous Server Gateway Interface (ASGI) framework. Prior to version 1.5.2, the request body parsing in starlite allows a potentially unauthenticated attacker to consume a large amount of CPU time and RAM. The multipart body parser processes an unlimited number of file parts and an unlimited number of field parts. 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. Version 1.51.2 contains a patch for this issue.
| Name | purl | starlite | pkg:pypi/starlite |
|---|
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "starlite",
"purl": "pkg:pypi/starlite"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "9674fe803628f986c03fe60769048cbc55b5bf83"
}
],
"repo": "https://github.com/starlite-api/starlite",
"type": "GIT"
},
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.51.2"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.0.1a0",
"0.1.0",
"0.1.0b1",
"0.1.1",
"0.1.2",
"0.1.3",
"0.1.4",
"0.1.5",
"0.1.6",
"0.2.0",
"0.2.1",
"0.3.0",
"0.4.0",
"0.4.1",
"0.4.2",
"0.4.3",
"0.5.0",
"0.6.0",
"0.7.0",
"0.7.1",
"0.7.2",
"1.0.0",
"1.0.1",
"1.0.2",
"1.0.3",
"1.0.4",
"1.0.5",
"1.1.0",
"1.1.1",
"1.10.0",
"1.10.1",
"1.11.0",
"1.11.1",
"1.12.0",
"1.13.0",
"1.13.1",
"1.14.0",
"1.14.1",
"1.14.2",
"1.15.0",
"1.16.0",
"1.16.1",
"1.16.2",
"1.17.0",
"1.17.1",
"1.17.2",
"1.18.0",
"1.18.1",
"1.19.0",
"1.2.0",
"1.2.2",
"1.2.3",
"1.2.4",
"1.2.5",
"1.20.0",
"1.21.0",
"1.21.1",
"1.21.2",
"1.23.0",
"1.23.1",
"1.24.0",
"1.25.0",
"1.26.0",
"1.26.1",
"1.27.0",
"1.28.0",
"1.28.1",
"1.29.0",
"1.3.0",
"1.3.1",
"1.3.2",
"1.3.3",
"1.3.4",
"1.3.5",
"1.3.6",
"1.3.7",
"1.3.8",
"1.3.9",
"1.30.0",
"1.31.0",
"1.32.0",
"1.33.0",
"1.34.0",
"1.35.0",
"1.35.1",
"1.36.0",
"1.37.0",
"1.38.0",
"1.39.0",
"1.4.0",
"1.4.1",
"1.4.2",
"1.40.0",
"1.40.1",
"1.41.0",
"1.42.0",
"1.43.0",
"1.43.1",
"1.44.0",
"1.45.0",
"1.45.1",
"1.46.0",
"1.47.0",
"1.48.0",
"1.48.1",
"1.49.0",
"1.5.0",
"1.5.1",
"1.5.2",
"1.5.3",
"1.5.4",
"1.50.0",
"1.50.1",
"1.50.2",
"1.51.0",
"1.51.1",
"1.6.0",
"1.6.1",
"1.6.2",
"1.7.0",
"1.7.1",
"1.7.2",
"1.7.3",
"1.8.0",
"1.8.1",
"1.9.0",
"1.9.1"
]
}
],
"aliases": [
"CVE-2023-25578",
"GHSA-p24m-863f-fm6q"
],
"details": "Starlite is an Asynchronous Server Gateway Interface (ASGI) framework. Prior to version 1.5.2, the request body parsing in `starlite` allows a potentially unauthenticated attacker to consume a large amount of CPU time and RAM. The multipart body parser processes an unlimited number of file parts and an unlimited number of field parts. 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. Version 1.51.2 contains a patch for this issue.",
"id": "PYSEC-2023-49",
"modified": "2023-05-04T03:49:48.263994Z",
"published": "2023-02-15T15:15:00Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/starlite-api/starlite/releases/tag/v1.51.2"
},
{
"type": "EVIDENCE",
"url": "https://github.com/starlite-api/starlite/security/advisories/GHSA-p24m-863f-fm6q"
},
{
"type": "ADVISORY",
"url": "https://github.com/starlite-api/starlite/security/advisories/GHSA-p24m-863f-fm6q"
},
{
"type": "FIX",
"url": "https://github.com/starlite-api/starlite/commit/9674fe803628f986c03fe60769048cbc55b5bf83"
}
]
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.