Django REST framework is a toolkit for building Web APIs. From 3.6.4 until 3.18.2, JSONParser.parse in rest_framework/parsers.py uses the client-supplied Content-Type charset value with codecs.getreader, which accepts byte-transform codecs such as bz2_codec rather than only text encodings. A remote unauthenticated client can therefore cause a compressed JSON request body to be expanded after Django has enforced DATA_UPLOAD_MAX_MEMORY_SIZE against only the wire bytes, allowing a very small request to consume substantial per-worker memory. The default parser set is sufficient, and any reachable endpoint that accepts a JSON body is affected. This issue is fixed in version 3.18.2.

Project Subscriptions

Vendors Products
Django Rest Framework Subscribe
Advisories
Source ID Title
Github GHSA Github GHSA GHSA-3547-9m27-7rxg Django REST framework: JSONParser applies an attacker-named codec to the request stream
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Thu, 22 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Thu, 22 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
First Time appeared Encode
Encode django Rest Framework
Vendors & Products Encode
Encode django Rest Framework

Wed, 21 Oct 2026 20:15:00 +0000

Type Values Removed Values Added
Description Django REST framework is a toolkit for building Web APIs. From 3.6.4 until 3.18.2, JSONParser.parse in rest_framework/parsers.py uses the client-supplied Content-Type charset value with codecs.getreader, which accepts byte-transform codecs such as bz2_codec rather than only text encodings. A remote unauthenticated client can therefore cause a compressed JSON request body to be expanded after Django has enforced DATA_UPLOAD_MAX_MEMORY_SIZE against only the wire bytes, allowing a very small request to consume substantial per-worker memory. The default parser set is sufficient, and any reachable endpoint that accepts a JSON body is affected. This issue is fixed in version 3.18.2.
Title Django REST framework: JSONParser applies an attacker-named codec to the request stream
Weaknesses CWE-409
CWE-770
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-21T20:02:41.030Z

Reserved: 2026-10-20T21:53:58.473Z

Link: CVE-2026-114136

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-21T20:17:25.557

Modified: 2026-10-22T17:21:57.293

Link: CVE-2026-114136

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-21T20:02:41Z

Links: CVE-2026-114136 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T10:30:04Z

Weaknesses