{"title":"Django 1.8.19 release notes","version":"dev","locale":"en","docname":"releases/1.8.19","url":"/en/dev/releases/1.8.19/","canonical":"https://djangodocs.dev/en/dev/releases/1.8.19/","summary":"Django 1.8.19 fixes two security issues in 1.18.18. The django.utils.html.urlize() function was extremely slow to evaluate certain inputs due to a…","html":"<h1>Django 1.8.19 release notes<a class=\"heading-anchor\" href=\"#django-1-8-19-release-notes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p><em>March 6, 2018</em></p>\n<p>Django 1.8.19 fixes two security issues in 1.18.18.</p>\n<section id=\"cve-2018-7536-denial-of-service-possibility-in-urlize-and-urlizetrunc-template-filters\">\n<h2>CVE-2018-7536: Denial-of-service possibility in <code class=\"docutils literal notranslate\">urlize</code> and <code class=\"docutils literal notranslate\">urlizetrunc</code> template filters<a class=\"heading-anchor\" href=\"#cve-2018-7536-denial-of-service-possibility-in-urlize-and-urlizetrunc-template-filters\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>The <code class=\"docutils literal notranslate\">django.utils.html.urlize()</code> function was extremely slow to evaluate\ncertain inputs due to a catastrophic backtracking vulnerability in a regular\nexpression. The <code class=\"docutils literal notranslate\">urlize()</code> function is used to implement the <code class=\"docutils literal notranslate\">urlize</code> and\n<code class=\"docutils literal notranslate\">urlizetrunc</code> template filters, which were thus vulnerable.</p>\n<p>The problematic regular expression is replaced with parsing logic that behaves\nsimilarly.</p>\n</section>\n<section id=\"cve-2018-7537-denial-of-service-possibility-in-truncatechars-html-and-truncatewords-html-template-filters\">\n<h2>CVE-2018-7537: Denial-of-service possibility in <code class=\"docutils literal notranslate\">truncatechars_html</code> and <code class=\"docutils literal notranslate\">truncatewords_html</code> template filters<a class=\"heading-anchor\" href=\"#cve-2018-7537-denial-of-service-possibility-in-truncatechars-html-and-truncatewords-html-template-filters\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>If <code class=\"docutils literal notranslate\">django.utils.text.Truncator</code>’s <code class=\"docutils literal notranslate\">chars()</code> and <code class=\"docutils literal notranslate\">words()</code> methods were\npassed the <code class=\"docutils literal notranslate\">html=True</code> argument, they were extremely slow to evaluate certain\ninputs due to a catastrophic backtracking vulnerability in a regular\nexpression. The <code class=\"docutils literal notranslate\">chars()</code> and <code class=\"docutils literal notranslate\">words()</code> methods are used to implement the\n<code class=\"docutils literal notranslate\">truncatechars_html</code> and <code class=\"docutils literal notranslate\">truncatewords_html</code> template filters, which were\nthus vulnerable.</p>\n<p>The backtracking problem in the regular expression is fixed.</p>\n</section>","rootId":"django-1-8-19-release-notes","toc":[{"title":"CVE-2018-7536: Denial-of-service possibility in urlize and urlizetrunc template filters","anchor":"cve-2018-7536-denial-of-service-possibility-in-urlize-and-urlizetrunc-template-filters","children":[]},{"title":"CVE-2018-7537: Denial-of-service possibility in truncatechars_html and truncatewords_html template filters","anchor":"cve-2018-7537-denial-of-service-possibility-in-truncatechars-html-and-truncatewords-html-template-filters","children":[]}],"breadcrumbs":[{"docname":"releases/index","title":"Release notes","url":"/en/dev/releases/"}],"prev":{"docname":"releases/1.9","title":"Django 1.9 release notes","url":"/en/dev/releases/1.9/"},"next":{"docname":"releases/1.8.18","title":"Django 1.8.18 release notes","url":"/en/dev/releases/1.8.18/"},"formats":{"html":"/en/dev/releases/1.8.19/","markdown":"/en/dev/releases/1.8.19.md","json":"/en/dev/releases/1.8.19.json"},"source":"https://github.com/django/django/blob/main/docs/releases/1.8.19.txt","official":"https://docs.djangoproject.com/en/dev/releases/1.8.19/","inVersions":["dev","6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.8"],"inLocales":["en"]}