Django 5.1.1 release notes¶
3 september 2024
Django 5.1.1 åtgärdar ett säkerhetsproblem med allvarlighetsgrad ”måttlig”, ett säkerhetsproblem med allvarlighetsgrad ”låg” och flera buggar i 5.1.
CVE-2024-45230: 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-45231: Potentiell uppräkning av användarens e-post via svarsstatus vid återställning av lösenord¶
På grund av obehandlade misslyckanden med att skicka e-post gjorde klassen PasswordResetForm
det möjligt för fjärrangripare att räkna upp användares e-postmeddelanden genom att utfärda begäran om återställning av lösenord och observera resultaten.
För att mildra denna risk hanteras och loggas nu undantag som inträffar under e-postutskick av lösenordsåterställning med hjälp av loggern django.contrib.auth.
Buggrättningar¶
Åtgärdade en regression i Django 5.1 som orsakade en krasch av
Window()
när en tom sekvens skickades till parameternorder_by
, och en krasch avPrefetch()
för en skivad frågeuppsättning utan ordning (#35665`).Åtgärdade en regression i Django 5.1 där ett nytt fält
usable_password
inkluderades iBaseUserCreationForm
(och barn). En nyAdminUserCreationForm
som inkluderar detta fält lades till, vilket isolerade funktionen till administratören där den var avsedd (#35678).Justerade deprecation-varningen
stacklevel
iModel.save()
ochModel.asave()
för att korrekt peka på den felaktiga anropsplatsen (#35060).Justerade avskrivningsvarningen
stacklevel
vid användning avOS_OPEN_FLAGS
iFileSystemStorage
för att korrekt peka på den felaktiga anropsplatsen (#35326).Justerade deprecation-varningen
stacklevel
iFieldCacheMixin.get_cache_name()
för att korrekt peka på den felaktiga anropsplatsen (#35405).Återställde, efter en regression i Django 5.1, möjligheten att åsidosätta tidszonen och rollinställningsbeteendet som används inom metoden
init_connection_state
i PostgreSQL-backend (#35688`).Åtgärdat en bugg i Django 5.1 där fel vid variabeluppslagning loggades vid rendering av adminfält (#35716).