Django 4.0.2 release notes¶
February 1, 2022
Django 4.0.2 fixes two security issues with severity “medium” and several bugs in 4.0.1. Also, the latest string translations from Transifex are incorporated, with a special mention for Bulgarian (fully translated).
CVE-2022-22818: Possible XSS via {% debug %} template tag¶
The {% debug %} template tag didn’t properly encode the current context,
posing an XSS attack vector.
In order to avoid this vulnerability, {% debug %} no longer outputs
information when the DEBUG setting is False, and it ensures all context
variables are correctly escaped when the DEBUG setting is True.
CVE-2022-23833: Denial-of-service possibility in file uploads¶
Passing certain inputs to multipart forms could result in an infinite loop when parsing files.
Bugfixes¶
- Fixed a bug in Django 4.0 where
TestCase.captureOnCommitCallbacks()could execute callbacks multiple times (#33410). - Fixed a regression in Django 4.0 where
help_textwas HTML-escaped in automatically-generated forms (#33419). - Fixed a regression in Django 4.0 that caused displaying an incorrect name for class-based views on the technical 404 debug page (#33425).
- Fixed a regression in Django 4.0 that caused an incorrect
reprofResolverMatchfor class-based views (#33426). - Fixed a regression in Django 4.0 that caused a crash of
makemigrationson models withoutMeta.order_with_respect_tobut with a field named_order(#33449). - Fixed a regression in Django 4.0 that caused incorrect
ModelAdmin.radio_fieldslayout in the admin (#33407). - Fixed a duplicate operation regression in Django 4.0 that caused a migration crash when altering a primary key type for a concrete parent model referenced by a foreign key (#33462).
- Fixed a bug in Django 4.0 that caused a crash of
QuerySet.aggregate()afterannotate()on an aggregate function with a default (#33468). - Fixed a regression in Django 4.0 that caused a crash of
makemigrationswhen renaming a field of a renamed model (#33480).