Django 2.2.4 release notes¶
1 augusti 2019
Django 2.2.4 åtgärdar säkerhetsproblem och flera buggar i 2.2.3.
CVE-2019-14232: Denial-of-service-möjlighet i django.utils.text.Truncator
¶
Om django.utils.text.Truncator
’s chars()
och words()
metoder fick argumentet html=True
, var de extremt långsamma att utvärdera vissa indata på grund av en katastrofal backtracking-sårbarhet i ett reguljärt uttryck. Metoderna chars()
och words()
används för att implementera mallfiltren truncatechars_html
och truncatewords_html
, som därmed var sårbara.
De reguljära uttryck som används av Truncator
har förenklats för att undvika potentiella backtracking-problem. Som en följd av detta kan efterföljande skiljetecken nu ibland inkluderas i den trunkerade utmatningen.
CVE-2019-14234: SQL-injektionsmöjlighet i nyckel- och indexuppslagningar för JSONField
/HStoreField
¶
Key and index lookups
for
django.contrib.postgres.fields.JSONField
and key lookups
for HStoreField
were subject to SQL injection, using a suitably crafted dictionary, with
dictionary expansion, as the **kwargs
passed to QuerySet.filter()
.
CVE-2019-14235: Potentiell minnesutmattning i django.utils.encoding.uri_to_iri()
¶
Om vissa indata godkänns kan django.utils.encoding.uri_to_iri()
leda till betydande minnesanvändning på grund av överdriven rekursion vid ompercent-encoding av ogiltiga UTF-8 oktettsekvenser.
uri_to_iri()
undviker nu rekursion vid ompercent-kodning av ogiltiga UTF-8 oktettsekvenser.
Buggrättningar¶
Åtgärdade en regression i Django 2.2 när beställning av en
QuerySet.union()
,intersection()
ellerdifference()
av en fälttyp som finns mer än en gång resulterar i att fel beställning används (#30628).Fixade en migreringskrasch på PostgreSQL när du lägger till en kontrollbegränsning med en
contains
-uppslagning påDateRangeField
ellerDateTimeRangeField
, om höger sida av ett uttryck är av samma typ (#30621).Åtgärdat en regression i Django 2.2 där automatisk återladdning kraschar om en filväg innehåller nolltecken (
'\x00'
) (#30506).Åtgärdat en regression i Django 2.2 där auto-reloader kraschar om en översättningskatalog inte kan lösas (#30647).