August 1, 2019
Django 2.2.4 fixes security issues and several bugs in 2.2.3.
were passed the
html=True argument, they were extremely slow to evaluate
certain inputs due to a catastrophic backtracking vulnerability in a regular
words() methods are used to implement the
filters, which were thus vulnerable.
The regular expressions used by
Truncator have been simplified in order to
avoid potential backtracking issues. As a consequence, trailing punctuation may
now at times be included in the truncated output.
Key and index lookups for
key lookups for
were subject to SQL injection, using a suitably crafted dictionary, with
dictionary expansion, as the
**kwargs passed to
If passed certain inputs,
django.utils.encoding.uri_to_iri() could lead
to significant memory usage due to excessive recursion when re-percent-encoding
invalid UTF-8 octet sequences.
uri_to_iri() now avoids recursion when re-percent-encoding invalid UTF-8
Fixed a regression in Django 2.2 when ordering a
difference() by a field type present more than
once results in the wrong ordering being used (#30628).
Fixed a regression in Django 2.2 where auto-reloader crashes if a file path
contains null characters (
Fixed a regression in Django 2.2 where auto-reloader crashes if a translation directory cannot be resolved (#30647).