CVE-2018-7537
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.
02 / AFFECTED SOFTWARE
Affected packages
33 explicit affected versions
33 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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.
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.
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.
05 / REFERENCES
Further evidence
- https://access.redhat.com/errata/RHSA-2018:2927
- https://access.redhat.com/errata/RHSA-2019:0265
- https://github.com/advisories/GHSA-2f9x-5v75-3qv4
- https://github.com/django/django
- https://github.com/django/django/commit/94c5da1d17a6b0d378866c66b605102c19f7988c
- https://github.com/django/django/commit/a91436360b79a6ff995c3e5018bcc666dfaf1539
- https://github.com/django/django/commit/d17974a287a6ea2e361daff88fcc004cbd6835fa
- https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2018-6.yaml
- https://lists.debian.org/debian-lts-announce/2018/03/msg00006.html
- https://nvd.nist.gov/vuln/detail/CVE-2018-7537
- https://usn.ubuntu.com/3591-1
- https://www.debian.org/security/2018/dsa-4161
- https://www.djangoproject.com/weblog/2018/mar/06/security-releases
- http://www.securityfocus.com/bid/103357
- https://usn.ubuntu.com/3591-1/
- https://www.djangoproject.com/weblog/2018/mar/06/security-releases/