CVE-2018-7536
Django denial-of-service possibility in urlize and urlizetrunc template filters
Also known as GHSA-r28v-mw67-m5p9, PYSEC-2018-5
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. The django.utils.html.urlize() function was extremely slow to evaluate certain inputs due to catastrophic backtracking vulnerabilities in two regular expressions (only one regular expression for Django 1.8.x). The urlize() function is used to implement the urlize and urlizetrunc template filters, which were thus vulnerable.
Exploit prediction (EPSS)
4.55% probability of exploitation in the next 30 days, higher than 92% 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.0a1, <2.0.3 >=1.11a1, <1.11.11 >=1.8a1, <1.8.19 >=1.8, <1.8.19 >=1.11, <1.11.11 >=2.0, <2.0.3 | 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_transferred
- access.redhat.com /errata/RHSA-2019:0051 · vendor-advisory, x_transferred
- lists.debian.org /debian-lts-announce/2018/03/msg00006.html · mailing-list, x_transferred
- securityfocus.com /bid/103361 · vdb-entry, x_transferred
- djangoproject.com /weblog/2018/mar/06/security-releases/ · x_transferred
- access.redhat.com /errata/RHSA-2019:0082 · vendor-advisory, x_transferred
- access.redhat.com /errata/RHSA-2018:2927 · vendor-advisory, x_transferred
- access.redhat.com /errata/RHSA-2019:0265 · vendor-advisory, x_transferred
- debian.org /security/2018/dsa-4161 · vendor-advisory, x_transferred
- github.com /django/django/commit/1ca63a66ef3163149ad822701273e8a1844192c2 · x_transferred
- github.com /django/django/commit/abf89d729f210c692a50e0ad3f75fb6bec6fae16 · x_transferred
- github.com /django/django/commit/e157315da3ae7005fa0683ffc9751dbeca7306c8 · x_transferred
- nvd.nist.gov /vuln/detail/CVE-2018-7536 · advisory
- github.com /advisories/GHSA-r28v-mw67-m5p9 · advisory
- github.com /django/django · package
- github.com /pypa/advisory-database/tree/main/vulns/django/PYSEC-2018-5.yaml · web
- usn.ubuntu.com /3591-1 · web
- web.archive.org /web/20200227131019/http://www.securityfocus.com/bid/103361 · web
- djangoproject.com /weblog/2018/mar/06/security-releases · web
Sources
- CVE List: CVE-2018-7536
- GitHub Advisory: GHSA-r28v-mw67-m5p9
- NVD: CVE-2018-7536
- OSV: PYSEC-2018-5
vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.