Django 5.0.8 release notes¶
6 augusti 2024
Django 5.0.8 åtgärdar tre säkerhetsproblem med allvarlighetsgrad ”måttlig”, ett säkerhetsproblem med allvarlighetsgrad ”hög” och flera buggar i 5.0.7.
CVE-2024-41989: Minnesutmattning i django.utils.numberformat.floatformat()
¶
Om floatformat
tog emot en strängrepresentation av ett tal i vetenskaplig notation med en stor exponent, kunde det leda till betydande minnesförbrukning.
För att undvika detta returneras nu decimaler med mer än 200 siffror som de är.
CVE-2024-41990: Potentiell sårbarhet för övergrepp i tjänsten i django.utils.html.urlize()
¶
urlize
och urlizetrunc
var föremål för en potentiell överbelastningsattack via mycket stora indata med en specifik sekvens av tecken.
CVE-2024-41991: Potentiell sårbarhet för övergrepp i tjänsten i django.utils.html.urlize()
och AdminURLFieldWidget
¶
urlize
, urlizetrunc
, och AdminURLFieldWidget
var föremål för en potentiell överbelastningsattack via vissa indata med ett mycket stort antal Unicode-tecken.
CVE-2024-42005: Potentiell SQL-injektion i QuerySet.values()
och values_list()
¶
metoderna QuerySet.values()
och values_list()
på modeller med en JSONField
var föremål för SQL-injektion i kolumnaliaser, via en manipulerad JSON-objektnyckel som ett godkänt *arg
.
Buggrättningar¶
Lagt till saknad validering för
UniqueConstraint(nulls_distinct=False)
vid användning av*expressions
(#35594).Åtgärdade en regression i Django 5.0 där
ModelAdmin.action_checkbox
kunde bryta HTML-sidan för admin-ändringslistan när en modellinstans renderas med en__html__
-metod (#35606`).Åtgärdade en krasch när en modell skapades med en
Field.db_default
och enMeta.constraints
-restriktion som består av__endswith
,__startswith
eller__contains
-uppslagningar (#35625).Åtgärdade en regression i Django 5.0.7 som orsakade en krasch i
LocaleMiddleware
vid bearbetning av en språkkod över 500 tecken (#35627).Åtgärdat ett fel i Django 5.0 som orsakade en systemkontrollkrasch när
ModelAdmin.date_hierarchy
var enGeneratedField
med ettoutput_field
avDateField
ellerDateTimeField
(#35628).Åtgärdat ett fel i Django 5.0 som orsakade att validering av begränsningar antingen kraschade eller felaktigt gav valideringsfel för begränsningar som hänvisar till fält som använder
Field.db_default
(#35638`).Fixade en krasch i Django 5.0 när man sparar en modell som innehåller en
FileField
med endb_default
uppsättning (#35657).