Description
An issue was discovered in Django 6.1 before 6.1.2, 6.0 before 6.0.9, and 5.2 before 5.2.18.
`django.utils.http.parse_header_parameters()` was subject to a potential denial-of-service attack due to quadratic time complexity when parsing a value with many separators inside a quoted parameter. An unauthenticated request could reach this parsing through headers such as `Accept` or `Content-Type`, for instance via the content negotiation performed by `HttpRequest.accepts()`. The per-call length limit does not bound the combined size of repeated headers.
Earlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected.
Django would like to thank Jisung Chae for reporting this issue.
Published: 2026-10-06
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via header parsing
Action: Immediate Patch
AI Analysis

Impact

A quadratic time complexity bug in django.utils.http.parse_header_parameters() can cause a denial‑of‑service when an HTTP header value contains many separators inside a quoted parameter. Unauthenticated clients can send crafted Accept or Content‑Type headers, triggering the vulnerable parsing path in HttpRequest.accepts(); the per‑request length limit does not constrain the combined size of repeated headers, so an attacker can overwhelm the server’s CPU or memory while parsing a header.

Affected Systems

Django releases prior to 6.1.2, 6.0.9, and 5.2.18 are affected. Earlier unsupported series such as 5.1.x, 5.0.x, and 4.2.x may also be vulnerable. The issue is present in the Django web framework and affects any deployment that processes HTTP headers without a mitigation in place.

Risk and Exploitability

The CVSS score of 6.9 denotes moderate severity, and no EPSS data is available. The vulnerability is exploitable out of band; no authentication is required and an attacker can trigger it by sending a single HTTP request with a malicious header. Because the algorithm degrades quadratically, repeated exploitation can lead to heavy resource consumption and denial of service, especially in high‑traffic environments. The vulnerability is not listed in the CISA KEV catalog, but the remote nature and low exploitation complexity elevate its risk for exposed Django applications.

Generated by OpenCVE AI on October 7, 2026 at 03:13 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Django to version 6.1.2 or later, 6.0.9 or later, or 5.2.18 or later to receive the patch that fixes the header parsing issue.
  • If a patch cannot be applied immediately, limit the size or number of HTTP headers accepted by the web server or reverse proxy, effectively throttling potential malicious input that would trigger the quadratic parsing path.
  • Monitor application performance for abnormal CPU or memory usage spikes tied to header parsing, and log parsing failures to detect attempted exploitation.

Generated by OpenCVE AI on October 7, 2026 at 03:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 07 Oct 2026 07:15:00 +0000

Type Values Removed Values Added
First Time appeared Djangoproject
Djangoproject django
Vendors & Products Djangoproject
Djangoproject django

Wed, 07 Oct 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-400
References
Metrics threat_severity

None

threat_severity

Moderate


Tue, 06 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 06 Oct 2026 13:45:00 +0000

Type Values Removed Values Added
Description An issue was discovered in Django 6.1 before 6.1.2, 6.0 before 6.0.9, and 5.2 before 5.2.18. `django.utils.http.parse_header_parameters()` was subject to a potential denial-of-service attack due to quadratic time complexity when parsing a value with many separators inside a quoted parameter. An unauthenticated request could reach this parsing through headers such as `Accept` or `Content-Type`, for instance via the content negotiation performed by `HttpRequest.accepts()`. The per-call length limit does not bound the combined size of repeated headers. Earlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected. Django would like to thank Jisung Chae for reporting this issue.
Title Potential denial-of-service vulnerability in HTTP header parsing
Weaknesses CWE-407
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N'}


Subscriptions

Djangoproject Django
cve-icon MITRE

Status: PUBLISHED

Assigner: DSF

Published:

Updated: 2026-10-06T14:15:10.916Z

Reserved: 2026-09-01T18:34:27.131Z

Link: CVE-2026-84429

cve-icon Vulnrichment

Updated: 2026-10-06T14:15:05.715Z

cve-icon NVD

Status : Deferred

Published: 2026-10-06T14:17:46.910

Modified: 2026-10-06T15:17:19.860

Link: CVE-2026-84429

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-06T14:21:00Z

Links: CVE-2026-84429 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T07:00:12Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-407

    Inefficient Algorithmic Complexity