p PatchFirst

CVE-2026-114136

CVE-2026-114136 · Django REST framework: JSONParser applies an attacker-named codec to the request stream

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 7.5 · High · EPSS 0.3% · Public exploit · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • django-rest-framework

    Versions
    • >= 3.6.4, < 3.18.2: Affected

    No fix published

  • djangorestframework Debian:12

    Versions
    • 3.14.0-2
    • 3.14.0-2+deb12u1
    • 3.15.1-1
    • 3.15.1-2
    • 3.15.2-1
    • 3.15.2-2
    • 3.16.0-1
    • 3.16.1-1
    • 3.16.1-3
    • 3.16.1-4
    • 3.17.1+ds1-1
    • 3.17.1-1
    • 3.18.1+ds1-1
    • 3.18.3+ds1-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • djangorestframework Debian:13

    Versions
    • 3.16.0-1
    • 3.16.1-1
    • 3.16.1-3
    • 3.16.1-4
    • 3.17.1+ds1-1
    • 3.17.1-1
    • 3.18.1+ds1-1
    • 3.18.3+ds1-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • djangorestframework Debian:14

    Versions
    • 3.16.0-1
    • 3.16.1-1
    • 3.16.1-3
    • 3.16.1-4
    • 3.17.1+ds1-1
    • 3.17.1-1
    • 3.18.1+ds1-1
    Affected ranges
    • ECOSYSTEM: < 3.18.3+ds1-1

    Update to 3.18.3+ds1-1

  • djangorestframework PyPI

    Versions
    • 3.10.0
    • 3.10.1
    • 3.10.2
    • 3.10.3
    • 3.11.0
    • 3.11.1
    • 3.11.2
    • 3.12.0
    • 3.12.1
    • 3.12.2
    • 3.12.3
    • 3.12.4
    • 3.13.0
    • 3.13.1
    • 3.14.0
    • 3.15.0
    • 3.15.1
    • 3.15.2
    • 3.16.0
    • 3.16.1
    • 3.17.0
    • 3.17.1
    • 3.17.2
    • 3.18.0
    • 3.18.1
    • 3.6.4
    • 3.7.0
    • 3.7.1
    • 3.7.2
    • 3.7.3
    • 3.7.4
    • 3.7.5
    • 3.7.6
    • 3.7.7
    • 3.8.0
    • 3.8.1
    • 3.8.2
    • 3.9.0
    • 3.9.1
    • 3.9.2
    • 3.9.3
    • 3.9.4
    Affected ranges
    • ECOSYSTEM: ≥ 3.6.4, < 3.18.2

    Update to 3.18.2

  • djangorestframework Ubuntu:16.04:LTS

    Versions
    • 2.4.3-2
    • 3.3.1-1
    • 3.3.2-1
    • 3.3.2-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • djangorestframework Ubuntu:18.04:LTS

    Versions
    • 3.4.0-2
    • 3.7.7-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • djangorestframework Ubuntu:20.04:LTS

    Versions
    • 3.9.0-2
    • 3.10.2-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • djangorestframework Ubuntu:22.04:LTS

    Versions
    • 3.12.1-1
    • 3.12.4-1
    • 3.12.4-2
    • 3.12.4-2ubuntu1
    • 3.12.4-2.1ubuntu1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • djangorestframework Ubuntu:24.04:LTS

    Versions
    • 3.14.0-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • djangorestframework Ubuntu:26.10

    Versions
    • 3.16.1-3
    • 3.16.1-4
    • 3.17.1+ds1-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • djangorestframework Ubuntu:26.04:LTS

    Versions
    • 3.16.1-1
    • 3.16.1-3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →