Skip to content
OpenAdvisories
High · 7.5 CVE-2026-114138 EUVD-2026-107548GHSA-33wh-fxxf-88vv

Django REST framework: Accept header with many large quoted parameters burns ~19s of CPU per request in content negotiation

Published Oct 21, 2026 · Updated Oct 28, 2026 · Assigned by GitHub_M

Description

Django REST framework is a toolkit for building Web APIs. Prior to 3.18.2, DefaultContentNegotiation.get_accept_list in rest_framework/negotiation.py accepts an unbounded number and aggregate size of Accept tokens, while select_renderer in that file repeatedly invokes _MediaType parsing from rest_framework/utils/mediatypes.py for each attacker-controlled token, every renderer, and forced 406 renegotiation. A remote unauthenticated client can send many distinct media types containing large quoted parameter values with numerous semicolons, causing Django's parameter parser and DRF's repeated parsing structure to consume disproportionate CPU. Requests to any reachable endpoint can pin synchronous workers for prolonged periods, and concurrent requests can make the service unavailable until the requests stop. This issue is fixed in version 3.18.2.

Affected products

VendorProductAffectedFixed
encode django-rest-framework < 3.18.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 djangorestframework 3.18.3+ds1-1 —
Debian 13 djangorestframework No fix yet —
Debian 12 djangorestframework No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 djangorestframework No fix yet —
Ubuntu 26.04 LTS djangorestframework No fix yet —
Ubuntu 24.04 LTS djangorestframework No fix yet —
Ubuntu 22.04 LTS djangorestframework No fix yet —
Ubuntu 20.04 LTS djangorestframework No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS djangorestframework No fix yet —
Ubuntu 16.04 LTS djangorestframework No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed python-djangorestframework 3.18.2-1.1 openSUSE-SU-2026:12277-1

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI djangorestframework < 3.18.2 3.18.2 GHSA-33wh-fxxf-88vv

Advisories 1

References