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.
漏洞修复
- 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).
讨论区