Django 1.11.23 release notes

1 augusti 2019

Django 1.11.23 åtgärdar säkerhetsproblem i 1.11.22.

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-14233: Denial-of-service-möjlighet i strip_tags()

På grund av beteendet hos den underliggande HTMLParser skulle django.utils.html.strip_tags`() vara extremt långsam när den utvärderade vissa indata som innehöll stora sekvenser av nästlade ofullständiga HTML-enheter. Metoden strip_tags() används för att implementera motsvarande striptags mallfilter, som därmed också var sårbart.

strip_tags() undviker nu rekursiva anrop till HTMLParser när framsteg med att ta bort taggar, men nödvändigtvis ofullständiga HTML-enheter, slutar göras.

Kom ihåg att det absolut INTE ges någon garanti för att resultatet av strip_tags() är HTML-säkert. Så markera ALDRIG resultatet av ett strip_tags()-anrop som säkert utan att först escapa det, till exempel med django.utils.html.escape().

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.