Description
An issue was discovered in 6.0 before 6.0.2, 5.2 before 5.2.11, and 4.2 before 4.2.28. `django.utils.text.Truncator.chars()` and `Truncator.words()` methods (with `html=True`) and the `truncatechars_html` and `truncatewords_html` template filters allow a remote attacker to cause a potential denial-of-service via crafted inputs containing a large number of unmatched HTML end tags. 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-407: Inefficient Algorithmic Complexity
Product status
6.0 (semver) before 6.0.2
6.0.2 (semver)
5.2 (semver) before 5.2.11
5.2.11 (semver)
4.2 (semver) before 4.2.28
4.2.28 (semver)
Timeline
| 2026-01-20: | Initial report received. |
| 2026-01-22: | Vulnerability confirmed. |
| 2026-02-03: | Security release issued. |
Credits
Seokchan Yoon
Natalia Bidart
Jacob Walls
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/feb/03/security-releases/ (Django security releases issued: 6.0.2, 5.2.11, and 4.2.28)