Vulnerability advisory
GHSA-2f9x-5v75-3qv4
Django Denial-of-service possibility in truncatechars_html and truncatewords_html template filters
Also known as CVE-2018-7537PYSEC-2018-6
Severity
- CVSS 3.x
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U
Affected versions
| Affected | Fixed in |
|---|---|
2.0 to before 2.0.3 | 2.0.3Advisories → |
1.11 to before 1.11.11 | 1.11.11Advisories → |
1.8 to before 1.8.19 | 1.8.19Advisories → |
Description
An issue was discovered in Django 2.0 before 2.0.3, 1.11 before 1.11.11, and 1.8 before 1.8.19. 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.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2018-7537 ↗
- Webgithub.com/django/django/commit/94c5da1d17a6b0d378866c66b605102c19f7988c ↗
- Webgithub.com/django/django/commit/a91436360b79a6ff995c3e5018bcc666dfaf1539 ↗
- Webgithub.com/django/django/commit/d17974a287a6ea2e361daff88fcc004cbd6835fa ↗
- Webaccess.redhat.com/errata/RHSA-2018:2927 ↗
- Webaccess.redhat.com/errata/RHSA-2019:0265 ↗
- Advisorygithub.com/advisories/GHSA-2f9x-5v75-3qv4 ↗
- Packagegithub.com/django/django ↗
- Webgithub.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2018-6.yaml ↗
- Weblists.debian.org/debian-lts-announce/2018/03/msg00006.html ↗
- Webusn.ubuntu.com/3591-1 ↗
- Webwww.debian.org/security/2018/dsa-4161 ↗
- Webwww.djangoproject.com/weblog/2018/mar/06/security-releases ↗