Skip to content
Heist/ feed
Back to feed
Medium

Django REST framework: Potential bypass of Django `DATA_UPLOAD_MAX_MEMORY_SIZE` when parsing oversized JSON and urlencoded request bodies via DRF `request.data`

Type: advisorySources: OSV

Django REST framework is a toolkit for building Web APIs. Prior to 3.17.2, Django REST Framework's request.data parsing in rest_framework/request.py Request._parse() passes the underlying HttpRequest stream to JSONParser and FormParser for application/json and application/x-www-form-urlencoded bodies, bypassing Django's DATA_UPLOAD_MAX_MEMORY_SIZE protection and allowing oversized request bodies to consume additional memory and CPU. This issue is fixed in version 3.17.2.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-73228
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 23:06 UTC · Revision 1

Source evidence

Django REST framework: Potential bypass of Django `DATA_UPLOAD_MAX_MEMORY_SIZE` when parsing oversized JSON and urlencoded request bodies via DRF `request.data`

core-osv · Original source

Published 11 Aug 2026, 18:54 UTC

Django REST framework is a toolkit for building Web APIs. Prior to 3.17.2, Django REST Framework's request.data parsing in rest_framework/request.py Request._parse() passes the underlying HttpRequest stream to JSONParser and FormParser for application/json and application/x-www-form-urlencoded bodies, bypassing Django's DATA_UPLOAD_MAX_MEMORY_SIZE protection and allowing oversized request bodies to consume additional memory and CPU. This issue is fixed in version 3.17.2.

osv:CVE-2026-73228
Complete source record
{
  "id": "d5c1b01143c5245c4009c1dd3b3e5b5d0c79de6cdefa0d00cd4afcc9cdd82655",
  "url": "https://osv.dev/vulnerability/CVE-2026-73228",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Django REST framework: Potential bypass of Django `DATA_UPLOAD_MAX_MEMORY_SIZE` when parsing oversized JSON and urlencoded request bodies via DRF `request.data`",
    "summary": "Django REST framework is a toolkit for building Web APIs. Prior to 3.17.2, Django REST Framework's request.data parsing in rest_framework/request.py Request._parse() passes the underlying HttpRequest stream to JSONParser and FormParser for application/json and application/x-www-form-urlencoded bodies, bypassing Django's DATA_UPLOAD_MAX_MEMORY_SIZE protection and allowing oversized request bodies to consume additional memory and CPU. This issue is fixed in version 3.17.2.",
    "evidence": "osv:CVE-2026-73228",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-73228",
      "aliases": [
        "CVE-2026-73228",
        "GHSA-2m8g-3cmr-wg3w",
        "PYSEC-2026-3827"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/encode/django-rest-framework",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "ad309f3e18aa5591db87a8fc959dc4564c000324"
                },
                {
                  "fixed": "2912dc98042f78e27636551fc22eeaf10f725fdd"
                },
                {
                  "fixed": "82ef7b7e4e0a73ba5c489b465fae7e76d948da4e"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.17.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "2912dc98042f78e27636551fc22eeaf10f725fdd"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "82ef7b7e4e0a73ba5c489b465fae7e76d948da4e"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.17.1",
            "3.17.0",
            "3.16.1",
            "3.16.0",
            "3.15.2",
            "3.15.1",
            "3.15.0",
            "3.14.0",
            "3.13.1",
            "3.13.0",
            "3.12.4",
            "3.12.3",
            "3.12.1",
            "3.12.0",
            "3.11.0",
            "3.10.3",
            "3.10.2",
            "3.10.1",
            "3.10.0",
            "3.9.3",
            "3.9.2",
            "3.9.1",
            "3.8.2",
            "3.8.1",
            "3.8.0",
            "3.7.7",
            "3.7.6",
            "3.7.5",
            "3.7.4",
            "3.7.3",
            "3.7.2",
            "3.7.1",
            "3.7.0",
            "3.6.4",
            "3.6.3",
            "3.6.2",
            "3.6.1",
            "3.6.0",
            "3.5.4",
            "3.5.3",
            "3.5.2",
            "3.5.1",
            "3.5.0",
            "3.4.7",
            "3.4.6",
            "3.4.5",
            "3.4.4",
            "3.4.3",
            "3.4.2",
            "3.4.1",
            "3.4.0",
            "3.3.2",
            "3.3.1",
            "3.2.4",
            "3.2.3",
            "3.2.2",
            "3.2.1",
            "3.2.0",
            "3.1.3",
            "3.1.2",
            "3.1.1",
            "3.1.0",
            "3.0.5",
            "3.0.3",
            "3.0.4",
            "3.0.2",
            "3.0.1",
            "3.0.0",
            "2.4.4",
            "2.4.3",
            "2.4.2",
            "2.4.1",
            "2.4.0",
            "2.3.14",
            "2.3.13",
            "2.3.12",
            "2.3.11",
            "2.3.10",
            "2.3.9",
            "2.3.8",
            "2.3.7",
            "2.3.6",
            "2.3.5",
            "2.3.4",
            "2.3.3",
            "2.3.2",
            "2.3.1",
            "2.3.0",
            "2.2.7",
            "2.2.6",
            "2.2.4",
            "2.2.3",
            "2.2.2",
            "2.2.1",
            "2.2.0",
            "2.1.17",
            "2.1.16",
            "2.1.15",
            "2.1.14",
            "2.1.13",
            "2.1.12",
            "2.1.11",
            "2.1.10",
            "2.1.9",
            "2.1.8",
            "2.1.7",
            "2.1.6",
            "2.1.5",
            "2.1.4",
            "2.1.3",
            "2.1.2",
            "2.1.1",
            "2.1.0",
            "2.0.2",
            "2.0.1",
            "2.0.0",
            "0.4.0",
            "0.3.3",
            "0.3.2",
            "0.3.1",
            "0.2.4",
            "0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-73228.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:40.244385511Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73228.json",
        "https://github.com/encode/django-rest-framework/security/advisories/GHSA-2m8g-3cmr-wg3w",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-73228",
        "https://github.com/encode/django-rest-framework/commit/2912dc98042f78e27636551fc22eeaf10f725fdd",
        "https://github.com/encode/django-rest-framework/commit/82ef7b7e4e0a73ba5c489b465fae7e76d948da4e",
        "https://github.com/encode/django-rest-framework/pull/10013"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-400",
          "CWE-770"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73228.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-73228",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 507823,
  "published_at": "2026-08-11T18:54:16.694+00:00"
}