CVE-2018-7537
Django Denial-of-service possibility in truncatechars_html and truncatewords_html template filters
Also known as GHSA-2f9x-5v75-3qv4, PYSEC-2018-6
Published 8 y ago · modified 4 mo ago · JSON
Summary
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.
Exploit prediction (EPSS)
4.37% probability of exploitation in the next 30 days, higher than 91% of all scored CVEs.
CVSS scores
| Assigned by | Version | Score | Vector |
|---|---|---|---|
| NVD | 3.0 | 5.3 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:N/A:P |
| GitHub | 3.0 | 5.3 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pypi | django | >=2.0, <2.0.3 >=1.11, <1.11.11 >=1.8, <1.8.19 | 2.0.3 1.11.11 1.8.19 |
Classification
- Weakness
- CWE-185 Incorrect Regular Expression
- Technology feeds
- Django (RSS, critical only)
References
- usn.ubuntu.com /3591-1/ · vendor-advisory, x_refsource_UBUNTU, x_transferred
- lists.debian.org /debian-lts-announce/2018/03/msg00006.html · mailing-list, x_refsource_MLIST, x_transferred
- djangoproject.com /weblog/2018/mar/06/security-releases/ · x_refsource_CONFIRM, x_transferred
- access.redhat.com /errata/RHSA-2018:2927 · vendor-advisory, x_refsource_REDHAT, x_transferred
- securityfocus.com /bid/103357 · vdb-entry, x_refsource_BID, x_transferred
- access.redhat.com /errata/RHSA-2019:0265 · vendor-advisory, x_refsource_REDHAT, x_transferred
- debian.org /security/2018/dsa-4161 · vendor-advisory, x_refsource_DEBIAN, x_transferred
- nvd.nist.gov /vuln/detail/CVE-2018-7537 · advisory
- github.com /django/django/commit/94c5da1d17a6b0d378866c66b605102c19f7988c · web
- github.com /django/django/commit/a91436360b79a6ff995c3e5018bcc666dfaf1539 · web
- github.com /django/django/commit/d17974a287a6ea2e361daff88fcc004cbd6835fa · web
- github.com /advisories/GHSA-2f9x-5v75-3qv4 · advisory
- github.com /django/django · package
- github.com /pypa/advisory-database/tree/main/vulns/django/PYSEC-2018-6.yaml · web
- usn.ubuntu.com /3591-1 · web
- djangoproject.com /weblog/2018/mar/06/security-releases · web
Sources
- CVE List: CVE-2018-7537
- GitHub Advisory: GHSA-2f9x-5v75-3qv4
- NVD: CVE-2018-7537
- OSV: PYSEC-2018-6
vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.