Description
An issue was discovered in Django 1.11.x before 1.11.23, 2.1.x before 2.1.11, and 2.2.x before 2.2.4. If django.utils.text.Truncator's chars() and words() methods were passed the html=True argument, they were extremely slow to evaluate certain inputs due to a catastrophic backtracking vulnerability in a regular expression. The chars() and words() methods are used to implement the truncatechars_html and truncatewords_html template filters, which were thus vulnerable.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | python-django | 2:2.2.4-1 | — |
| Debian 13 | python-django | 2:2.2.4-1 | — |
| Debian 12 | python-django | 3:3.2.25-0+deb12u1 | DSA-6136-1 |
| Debian 10 | python-django | 1:1.11.23-1~deb10u1 | DSA-4498-1 |
| Debian 9 | python-django | 1:1.10.7-2+deb9u6 | DSA-4498-1 |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 8 | python-django | 1.7.11-1+deb8u7 | DLA-1872-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | python-django | 1:1.11.22-1ubuntu1 | — |
| Ubuntu 18.04 LTS | python-django | 1:1.11.11-1ubuntu1.5 | USN-4084-1 |
| Ubuntu 16.04 LTS | python-django | 1.8.7-1ubuntu5.10 | USN-4084-1 |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 14.04 LTS | python-django | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat OpenStack 15 | python-django +2 | 2.1.11-1.el8ost | RHSA-2020:1324 |
| Red Hat OpenStack 13 | python-django +2 | 1.11.27-1.el7ost | RHSA-2020:4390 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SUSE Package Hub 15 SP1 | python-Django | 2.2.4-bp151.3.3.1 | openSUSE-SU-2019:1872-1 |
| SUSE OpenStack Cloud Crowbar 9 | python-Django1 | 1.11.23-3.9.1 | SUSE-SU-2019:2335-1 |
| SUSE OpenStack Cloud Crowbar 8 | python-Django | 1.11.23-3.12.1 | SUSE-SU-2019:2257-1 |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SUSE OpenStack Cloud 9 | python-Django1 | 1.11.23-3.9.1 | SUSE-SU-2019:2335-1 |
| SUSE OpenStack Cloud 8 | python-Django | 1.11.23-3.12.1 | SUSE-SU-2019:2257-1 |
| SUSE OpenStack Cloud 7 | python-Django | 1.8.19-3.15.1 | SUSE-SU-2019:2180-1 |
| SUSE HPE Helion OpenStack 8 | python-Django | 1.11.23-3.12.1 | SUSE-SU-2019:2257-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-Django | 3.2.7-2.3 | openSUSE-SU-2026:11248-1, openSUSE-SU-2024:13887-1, openSUSE-SU-2024:11205-1 |
| openSUSE Tumbleweed | python-Django4 | 4.2.14-1.1 | openSUSE-SU-2026:11235-1, openSUSE-SU-2024:14208-1 |
| openSUSE Tumbleweed | python-Django5 | 5.2.16-1.1 | openSUSE-SU-2026:11270-1 |
| openSUSE Tumbleweed | python-Django6 | 6.0-1.1 | openSUSE-SU-2026:10005-1 |
| openSUSE Leap 15.1 | python-Django | 2.2.4-lp151.2.3.1 | openSUSE-SU-2019:1839-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | py3-django | 1.11.23-r0 | — |
| Alpine v3.23 | py3-django | 1.11.23-r0 | — |
| Alpine v3.22 | py3-django | 1.11.23-r0 | — |
| Alpine v3.21 | py3-django | 1.11.23-r0 | — |
| Alpine v3.20 | py3-django | 1.11.23-r0 | — |
Show 13 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.19 | py3-django | 1.11.23-r0 | — |
| Alpine v3.18 | py3-django | 1.11.23-r0 | — |
| Alpine v3.17 | py3-django | 1.11.23-r0 | — |
| Alpine v3.16 | py3-django | 1.11.23-r0 | — |
| Alpine v3.15 | py3-django | 1.11.23-r0 | — |
| Alpine v3.14 | py3-django | 1.11.23-r0 | — |
| Alpine v3.13 | py3-django | 1.11.23-r0 | — |
| Alpine v3.12 | py3-django | 1.11.23-r0 | — |
| Alpine v3.11 | py3-django | 1.11.23-r0 | — |
| Alpine v3.10 | py-django | 1.11.23-r0 | — |
| Alpine v3.9 | py-django | 1.11.23-r0 | — |
| Alpine v3.8 | py-django | 1.11.23-r0 | — |
| Alpine v3.7 | py-django | 1.11.23-r0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | django | >= 1.11a1, < 1.11.23 | 1.11.23 | GHSA-c4qh-4vgv-qc6g |
| PyPI | django | >= 2.1a1, < 2.1.11 | 2.1.11 | GHSA-c4qh-4vgv-qc6g |
| PyPI | django | >= 2.2a1, < 2.2.4 | 2.2.4 | GHSA-c4qh-4vgv-qc6g |
| PyPI | django | >= 1.11, < 1.11.23 · >= 2.1, < 2.1.11 · >= 2.2, < 2.2.4 | 1.11.23, 2.1.11, 2.2.4 | PYSEC-2019-11 |
Advisories 19
- openSUSE-SU-2026:11270-1 python313-Django5-5.2.16-1.1 on GA media SUSE / openSUSE Security Updates · Jul 15, 2026
- openSUSE-SU-2026:11248-1 python313-Django-5.2.16-1.1 on GA media SUSE / openSUSE Security Updates · Jul 11, 2026
- openSUSE-SU-2026:11235-1 python313-Django4-4.2.30-4.1 on GA media SUSE / openSUSE Security Updates · Jul 10, 2026
- RHSA-2020:4390 Red Hat Security Advisory: python-django security update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- RHSA-2020:1324 Red Hat Security Advisory: python-django security update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- USN-4084-1 python-django vulnerabilities Ubuntu Security Notices (USN) · Apr 27, 2026
- openSUSE-SU-2026:10005-1 python312-Django6-6.0-1.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- DSA-4498-1 python-django - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-1872-1 python-django - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DSA-6136-1 python-django - security update Debian Security (DSA / DLA) · Feb 15, 2026
- openSUSE-SU-2024:11205-1 python36-Django-3.2.7-2.3 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2019:1872-1 Security update for python-Django SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:13887-1 python310-Django-4.2.11-2.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:2257-1 Security update for python-Django SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:2180-1 Security update for python-Django SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2019:1839-1 Security update for python-Django SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:2335-1 Security update for python-Django1 SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:14208-1 python310-Django4-4.2.14-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- WID-SEC-2024-0539 Red Hat OpenStack: Mehrere Schwachstellen BSI CERT-Bund (WID) · Mar 3, 2024
References
- https://docs.djangoproject.com/en/dev/releases/security/
- https://groups.google.com/forum/#%21topic/django-announce/jIoju2-KLDs
- https://www.djangoproject.com/weblog/2019/aug/01/security-releases/
- openSUSE-SU-2019:1839 vendor-advisory
- 20190812 [SECURITY] [DSA 4498-1] python-django security update mailing-list
- DSA-4498 vendor-advisory
- openSUSE-SU-2019:1872 vendor-advisory
- FEDORA-2019-647f74ce51 vendor-advisory
- https://security.netapp.com/advisory/ntap-20190828-0002/
- GLSA-202004-17 vendor-advisory
- [oss-security] 20231004 Django: CVE-2023-43665: Denial-of-service possibility in django.utils.text.Truncator mailing-list
- [oss-security] 20240304 Django: CVE-2024-27351: Potential regular expression denial-of-service in django.utils.text.Truncator.words() mailing-list