# Django 5.2.8 documentation

# Django 2.0.3 versionsinformation

6 mars 2018

Django 2.0.3 åtgärdar två säkerhetsproblem och flera buggar i 2.0.2. Dessutom har de senaste strängöversättningarna från Transifex införlivats.

## CVE-2018-7536: Denial-of-service-möjlighet i mallfiltren `urlize` och `urlizetrunc`

Funktionen `django.utils.html.urlize()` var extremt långsam när den utvärderade vissa inmatningar på grund av katastrofala sårbarheter för backtracking i två reguljära uttryck. Funktionen `urlize()` används för att implementera mallfiltren `urlize` och `urlizetrunc`, som därmed var sårbara.

De problematiska reguljära uttrycken ersätts med parsinglogik som beter sig på liknande sätt.

## CVE-2018-7537: Denial-of-service-möjlighet i mallfiltren `truncatechars_html` och `truncatewords_html`

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.

Backtracking-problemet i det reguljära uttrycket är åtgärdat.

## Buggrättningar

- Åtgärdat en regression som orsakade att skivad `QuerySet.distinct().order_by()` följt av `count()` kraschade (#29108).

- Prioriterade inmatningsformaten för datetime och tid utan `%f` för den thailändska språkdräkten för att åtgärda widgeten för tidsväljare i admin som visade ”undefined” (#29109).

- Fixad krasch med `QuerySet.order_by(Exists(...))` (#29118).

- Gjorde `Q.deconstruct()` deterministisk med flera nyckelordsargument (#29125). Du kan behöva ändra `Q` i befintliga migreringar, eller acceptera en autogenererad migrering.

- Åtgärdade en regression där ett `When()`-uttryck med ett listargument kraschade (#29166).

- Korrigerad krasch vid användning av ett `Window()`-uttryck i en underfråga (#29172).

- Fixade kraschen i `AbstractBaseUser.normalize_username()` om argumentet `username` inte är en sträng (#29176).