Description
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.
Problem types
CWE-400: Uncontrolled Resource Consumption
Product status
6.0 (semver) before 6.0.3
6.0.3 (semver)
5.2 (semver) before 5.2.12
5.2.12 (semver)
4.2 (semver) before 4.2.29
4.2.29 (semver)
Timeline
| 2026-01-27: | Initial report received. |
| 2026-02-20: | Vulnerability confirmed. |
| 2026-03-03: | Security release issued. |
Credits
Seokchan Yoon
Natalia Bidart
Natalia Bidart
References
docs.djangoproject.com/en/dev/releases/security/ (Django security archive)
groups.google.com/g/django-announce (Django releases announcements)
www.djangoproject.com/weblog/2026/mar/03/security-releases/ (Django security releases issued: 6.0.3, 5.2.12, and 4.2.29)