1
0
mirror of https://github.com/django/django.git synced 2025-06-17 09:29:17 +00:00
django/docs/releases/4.2.21.txt

38 lines
1.5 KiB
Plaintext

===========================
Django 4.2.21 release notes
===========================
*May 7, 2025*
Django 4.2.21 fixes a security issue with severity "moderate", a data loss bug,
and a regression in 4.2.20.
This release was built using an upgraded :pypi:`setuptools`, producing
filenames compliant with :pep:`491` and :pep:`625` and thus addressing a PyPI
warning about non-compliant distribution filenames. This change only affects
the Django packaging process and does not impact Django's behavior.
CVE-2025-32873: Denial-of-service possibility in ``strip_tags()``
=================================================================
:func:`~django.utils.html.strip_tags` would be slow to evaluate certain inputs
containing large sequences of incomplete HTML tags. This function is used to
implement the :tfilter:`striptags` template filter, which was thus also
vulnerable.
:func:`~django.utils.html.strip_tags` now raises a :exc:`.SuspiciousOperation`
exception if it encounters an unusually large number of unclosed opening tags.
Bugfixes
========
* Fixed a data corruption possibility in ``file_move_safe()`` when
``allow_overwrite=True``, where leftover content from a previously larger
file could remain after overwriting with a smaller one due to lack of
truncation (:ticket:`36298`).
* Fixed a regression in Django 4.2.20, introduced when fixing
:cve:`2025-26699`, where the :tfilter:`wordwrap` template filter did not
preserve empty lines between paragraphs after wrapping text
(:ticket:`36341`).