Django 5.0.7 release notes¶
9 juli 2024
Django 5.0.7 åtgärdar två säkerhetsproblem med allvarlighetsgrad ”måttlig”, två säkerhetsproblem med allvarlighetsgrad ”låg” och en bugg i 5.0.6.
CVE-2024-38875: 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 vissa indata med ett mycket stort antal parenteser.
CVE-2024-39329: Uppräkning av användarnamn genom tidsskillnad för användare med oanvändbara lösenord¶
Metoden authenticate()
gjorde det möjligt för fjärrangripare att räkna upp användare via en tidsattack som involverade inloggningsbegäranden för användare med oanvändbara lösenord.
CVE-2024-39330: Potentiell katalogtraversering via Storage.save()
¶
Härledda klasser av basklassen Storage
som åsidosätter generate_filename()
utan att replikera valideringen av filvägar som finns i den överordnade klassen, möjliggjorde potentiell katalogtraversering via vissa ingångar vid anrop av save()
.
Inbyggda underklasser av Storage
påverkades inte av denna sårbarhet.
CVE-2024-39614: Potentiell sårbarhet för överbelastningsattack i get_supported_language_variant()
¶
get_supported_language_variant()
var föremål för en potentiell överbelastningsattack när den användes med mycket långa strängar som innehöll specifika tecken.
För att mildra denna sårbarhet analyseras nu språkkoden som tillhandahålls till get_supported_language_variant()
upp till en maximal längd på 500 tecken.
När språkkoden är över 500 tecken kommer nu ett ValueError
att visas om strict
är True
, eller om det inte finns någon generisk variant och strict
är False
.
Buggrättningar¶
Åtgärdat ett fel i Django 5.0 som orsakade en krasch av
Model.full_clean()
på osparade modellinstanser med enGeneratedField
och vissa definieradeMeta.constraints
(#35560`).