Django 2.2.4 versionsinformation¶
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åDateRangeFieldellerDateTimeRangeField, 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).