GHSA-p24m-863f-fm6q
Vulnerability from github
Published
2023-02-15 17:42
Modified
2024-10-28 14:38
Summary
Denial of service vulnerability when parsing multipart request body
Details

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.

Show details on source website


{
  "affected": [
    {
      "package": {
        "ecosystem": "PyPI",
        "name": "starlite"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.51.2"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2023-25578"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-400",
      "CWE-770"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2023-02-15T17:42:42Z",
    "nvd_published_at": "2023-02-15T15:15:00Z",
    "severity": "HIGH"
  },
  "details": "### Summary\n\nThe request body parsing in `starlite` allows a potentially unauthenticated\n attacker to consume a large amount of CPU time and RAM.\n\n### Details\n\nThe multipart body parser processes an unlimited number of file parts.\nThe multipart body parser processes an unlimited number of field parts.\n\n### Impact\n\nThis is a remote, potentially unauthenticated Denial of Service vulnerability.\n\nThis vulnerability affects applications with a request handler that accepts\n a `Body(media_type=RequestEncodingType.MULTI_PART)`.\n\nThe large amount of CPU time required for processing requests can block all\n available worker processes and significantly delay or slow down the processing\n of legitimate user requests.\nThe large amount of RAM accumulated while processing requests can lead to\n Out-Of-Memory kills.\nComplete DoS is achievable by sending many concurrent multipart requests in a\n loop.\n",
  "id": "GHSA-p24m-863f-fm6q",
  "modified": "2024-10-28T14:38:20Z",
  "published": "2023-02-15T17:42:42Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/starlite-api/starlite/security/advisories/GHSA-p24m-863f-fm6q"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-25578"
    },
    {
      "type": "WEB",
      "url": "https://github.com/starlite-api/starlite/commit/9674fe803628f986c03fe60769048cbc55b5bf83"
    },
    {
      "type": "WEB",
      "url": "https://github.com/pypa/advisory-database/tree/main/vulns/starlite/PYSEC-2023-49.yaml"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/starlite-api/starlite"
    },
    {
      "type": "WEB",
      "url": "https://github.com/starlite-api/starlite/releases/tag/v1.51.2"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
      "type": "CVSS_V3"
    },
    {
      "score": "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",
      "type": "CVSS_V4"
    }
  ],
  "summary": "Denial of service vulnerability when parsing multipart request body"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…