summaryrefslogtreecommitdiff
path: root/docs/releases
diff options
context:
space:
mode:
authorNatalia <124304+nessita@users.noreply.github.com>2023-09-19 09:51:48 -0300
committerNatalia <124304+nessita@users.noreply.github.com>2023-10-04 09:22:26 -0300
commit17b51094d778b421bb2b3aae0c270894b050455d (patch)
treefe06719d14fd28723ed22c2ff90035d47a8faca6 /docs/releases
parent1dae65dc63ae84be5002c37b4ddae0b9220e8808 (diff)
Fixed CVE-2023-43665 -- Mitigated potential DoS in django.utils.text.Truncator when truncating HTML text.
Thanks Wenchao Li of Alibaba Group for the report.
Diffstat (limited to 'docs/releases')
-rw-r--r--docs/releases/3.2.22.txt18
-rw-r--r--docs/releases/4.1.12.txt18
-rw-r--r--docs/releases/4.2.6.txt18
3 files changed, 52 insertions, 2 deletions
diff --git a/docs/releases/3.2.22.txt b/docs/releases/3.2.22.txt
index 6e1815de11..cfedc41de8 100644
--- a/docs/releases/3.2.22.txt
+++ b/docs/releases/3.2.22.txt
@@ -6,4 +6,20 @@ Django 3.2.22 release notes
Django 3.2.22 fixes a security issue with severity "moderate" in 3.2.21.
-...
+CVE-2023-43665: Denial-of-service possibility in ``django.utils.text.Truncator``
+================================================================================
+
+Following the fix for :cve:`2019-14232`, the regular expressions used in the
+implementation of ``django.utils.text.Truncator``'s ``chars()`` and ``words()``
+methods (with ``html=True``) were revised and improved. However, these regular
+expressions still exhibited linear backtracking complexity, so when given a
+very long, potentially malformed HTML input, the evaluation would still be
+slow, leading to a potential denial of service vulnerability.
+
+The ``chars()`` and ``words()`` methods are used to implement the
+:tfilter:`truncatechars_html` and :tfilter:`truncatewords_html` template
+filters, which were thus also vulnerable.
+
+The input processed by ``Truncator``, when operating in HTML mode, has been
+limited to the first five million characters in order to avoid potential
+performance and memory issues.
diff --git a/docs/releases/4.1.12.txt b/docs/releases/4.1.12.txt
index d81df3aefd..6c331dd318 100644
--- a/docs/releases/4.1.12.txt
+++ b/docs/releases/4.1.12.txt
@@ -6,4 +6,20 @@ Django 4.1.12 release notes
Django 4.1.12 fixes a security issue with severity "moderate" in 4.1.11.
-...
+CVE-2023-43665: Denial-of-service possibility in ``django.utils.text.Truncator``
+================================================================================
+
+Following the fix for :cve:`2019-14232`, the regular expressions used in the
+implementation of ``django.utils.text.Truncator``'s ``chars()`` and ``words()``
+methods (with ``html=True``) were revised and improved. However, these regular
+expressions still exhibited linear backtracking complexity, so when given a
+very long, potentially malformed HTML input, the evaluation would still be
+slow, leading to a potential denial of service vulnerability.
+
+The ``chars()`` and ``words()`` methods are used to implement the
+:tfilter:`truncatechars_html` and :tfilter:`truncatewords_html` template
+filters, which were thus also vulnerable.
+
+The input processed by ``Truncator``, when operating in HTML mode, has been
+limited to the first five million characters in order to avoid potential
+performance and memory issues.
diff --git a/docs/releases/4.2.6.txt b/docs/releases/4.2.6.txt
index 31929468a6..9b99d8c622 100644
--- a/docs/releases/4.2.6.txt
+++ b/docs/releases/4.2.6.txt
@@ -7,6 +7,24 @@ Django 4.2.6 release notes
Django 4.2.6 fixes a security issue with severity "moderate" and several bugs
in 4.2.5.
+CVE-2023-43665: Denial-of-service possibility in ``django.utils.text.Truncator``
+================================================================================
+
+Following the fix for :cve:`2019-14232`, the regular expressions used in the
+implementation of ``django.utils.text.Truncator``'s ``chars()`` and ``words()``
+methods (with ``html=True``) were revised and improved. However, these regular
+expressions still exhibited linear backtracking complexity, so when given a
+very long, potentially malformed HTML input, the evaluation would still be
+slow, leading to a potential denial of service vulnerability.
+
+The ``chars()`` and ``words()`` methods are used to implement the
+:tfilter:`truncatechars_html` and :tfilter:`truncatewords_html` template
+filters, which were thus also vulnerable.
+
+The input processed by ``Truncator``, when operating in HTML mode, has been
+limited to the first five million characters in order to avoid potential
+performance and memory issues.
+
Bugfixes
========