Description (CNA)
An issue was discovered in 6.0 before 6.0.3, 5.2 before 5.2.12, and 4.2 before 4.2.29. `URLField.to_python()` in Django calls `urllib.parse.urlsplit()`, which performs NFKC normalization on Windows that is disproportionately slow for certain Unicode characters, allowing a remote attacker to cause denial of service via large URL inputs containing these characters. 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 Seokchan Yoon for reporting this issue.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| djangoproject / Django | affected 6.0 before 6.0.3; unaffected 6.0.3; affected 5.2 before 5.2.12; unaffected 5.2.12; affected 4.2 before 4.2.29; unaffected 4.2.29 |
CWE
CWE-400
References
- https://docs.djangoproject.com/en/dev/releases/security/
- https://groups.google.com/g/django-announce
- https://www.djangoproject.com/weblog/2026/mar/03/security-releases/
ADP enrichment
No English description supplied.
No references supplied.
A flaw was found in Django. A remote attacker can exploit a vulnerability in the `URLField.to_python()` function, specifically when Django is running on the Windows platform. This function, which utilizes `urllib.parse.urlsplit()`, performs a disproportionately slow normalization process for certain Unicode characters. By submitting large URL inputs containing these characters, an attacker can trigger a denial of service (DoS).