Django REST framework: Denial of Service via Accept header parsing (CVE-2026-114138)
Django REST framework versions prior to 3.18.2 are susceptible to a Denial of Service attack where specially crafted Accept headers cause CPU-intensive parsing and thread exhaustion.
CVE search metadata
CVE search record: CVE-2026-114138. Severity: high. CVSS: 7.5. KEV: no. Product: Django REST framework (< 3.18.2). Brief: Django REST framework: Denial of Service via Accept header parsing (CVE-2026-114138). Brief link: https://feed.craftedsignal.io/briefs/2026-10-django-rest-framework-dos/
Triage facts
Revision 1- Applicability
- Django REST framework (< 3.18.2)
- Evidence
- Unknown
- Severity
- Low
- Action
- Elevated
- Sources
- 1 public source
- Freshness
- Revision 1Oct 21, 21:41 UTC
- Vulnerabilities
- 1 CVE
- Source quality
- A1Likely
Django REST framework versions prior to 3.18.2 contain a vulnerability in the DefaultContentNegotiation class, specifically within get_accept_list and select_renderer. The framework fails to limit the number and aggregate size of media type tokens in the HTTP Accept header. An attacker can supply a large number of distinct media types containing complex, quoted parameters and excessive semicolons. This forces the server's parser into a cycle of intensive operations that pin synchronous worker threads, leading to service unavailability.
Impact
A remote, unauthenticated attacker can cause a Denial of Service by exhausting synchronous worker threads, rendering the API unresponsive until the malicious requests cease.
Recommendation
- Upgrade Django REST framework to version 3.18.2 or later to include the patch for CVE-2026-114138.
- Implement request-level limits on the size and complexity of HTTP headers at the web server or reverse proxy layer (e.g., nginx, Apache) to mitigate the impact of abnormally large
Acceptheaders before they reach the application tier.
Immediate actions
Upgrade Django REST framework to version 3.18.2 or later
Mitigations
Configure WAF or reverse proxy to restrict the length and complexity of the Accept header
CVE-2026-114138