Vulnerability advisory
CVE-2026-53878
Header injection possibility since DomainNameValidator accepted newlines in input
Also known as BIT-django-2026-53878GHSA-8qcx-xf44-272xPYSEC-2026-2092
Severity
- CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Affected versions
Repository
| Affected commits | Fixed by commit |
|---|---|
| GIT github.com/django/django ↗ | |
| 9e7cc2b628fe8fd3895986af9b7fc9525034c1b0 to before 6c8eee41f778da87bdd17e27381d3705ed2d068b | 6c8eee41f778da87bdd17e27381d3705ed2d068b |
| 36b5f39d9372147f0e758f590e35ee2b2bc317dd to before e2a424605ac2e7e6e799496542fb2997207e2f23 | e2a424605ac2e7e6e799496542fb2997207e2f23 |
Also listed as affected (23)
| |
Description
An issue was discovered in Django 6.0 before 6.0.7 and 5.2 before 5.2.16.
DomainNameValidator does not prohibit newlines in domain names (unless used via a form field, since CharField strips newlines). If an application uses values with newlines in an HTTP response, header injection can occur. Django itself is unaffected because HttpResponse prohibits newlines in HTTP headers.
Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also be affected.
Django would like to thank Bence Nagy for reporting this issue.
References
- Webgithub.com/django/django/ ↗
- Advisorydocs.djangoproject.com/en/dev/releases/security/ ↗
- Advisorygithub.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53878.json ↗
- Advisorynvd.nist.gov/vuln/detail/CVE-2026-53878 ↗
- Advisorywww.djangoproject.com/weblog/2026/jul/07/security-releases/ ↗
- Packagepypi.org/project/Django/ ↗
- ARTICLEgroups.google.com/g/django-announce ↗