Django: Potential denial-of-service vulnerability in HTTP header parsing
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
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.
Text from CVE List
Affected versions 6
- Djangoaffected: 6.1 before 6.1.2CVE List
- Djangounaffected: 6.1.2CVE List
- Djangoaffected: 6.0 before 6.0.9CVE List
- Djangounaffected: 6.0.9CVE List
- Djangoaffected: 5.2 before 5.2.18CVE List
- Djangounaffected: 5.2.18CVE List
References 7
- github.com/django/django/commit/7ff7fcc0508864a4bc39693128ace38b1e95a890Fixvia CVE List
- github.com/django/django/commit/de56deeabd4c48dfb5193f0001469d80102fb367Fixvia CVE List
- github.com/django/django/commit/3d8f121695c21234aff3071de0d38b6bd38c3f52Fixvia CVE List
- github.com/django/django/commit/6ecd66e09a383be004a78a3a738ea9727ff07b0eFixvia CVE List
- docs.djangoproject.com/en/dev/releases/security/Advisoryvia CVE List
- djangoproject.com/weblog/2026/oct/06/security-releases/Advisoryvia CVE List
- groups.google.com/g/django-announceReferencevia CVE List