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.
| Software | From | Fixed in |
|---|---|---|
| canonical / ubuntu_linux | 16.04 | 16.04.x |
| canonical / ubuntu_linux | 14.04 | 14.04.x |
| canonical / ubuntu_linux | 17.10 | 17.10.x |
| djangoproject / django | 1.8 | 1.8.19 |
| djangoproject / django | 1.11 | 1.11.11 |
| djangoproject / django | 2.0 | 2.0.3 |
| debian / debian_linux | 8.0 | 8.0.x |
| debian / debian_linux | 7.0 | 7.0.x |
| debian / debian_linux | 9.0 | 9.0.x |
Django
|
2.0 | 2.0.3 |
Django
|
1.11 | 1.11.11 |
Django
|
1.8 | 1.8.19 |