# Django 6.0.5 documentation

# 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-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.

## Buggrättningar

- Åtgärdade en regression i Django 2.2 när beställning av en `QuerySet.union()`, `intersection()` eller `difference()` 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` eller `DateTimeRangeField`, 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).