Django 2.0.2 release notes¶
1 februari 2018
Django 2.0.2 åtgärdar ett säkerhetsproblem och flera buggar i 2.0.1.
CVE-2018-6188: Informationsläckage i AuthenticationForm
¶
En regression i Django 1.11.8 gjorde att AuthenticationForm
körde sin confirm_login_allowed()
-metod även om ett felaktigt lösenord anges. Detta kan läcka information om en användare, beroende på vilka meddelanden confirm_login_allowed()
ger upphov till. Om confirm_login_allowed()
inte åsidosätts kan en angripare ange ett godtyckligt användarnamn och se om den användaren har ställts in på is_active=False
. Om confirm_login_allowed()
åsidosätts kan mer känslig information läcka ut.
Detta problem är åtgärdat med förbehållet att AuthenticationForm
inte längre kan ge felet ”Detta konto är inaktivt.” om autentiseringsbackend avvisar inaktiva användare (standardautentiseringsbackend, ModelBackend
, har gjort det sedan Django 1.10). Denna fråga kommer att ses över för Django 2.1 eftersom en fix för att ta itu med varningen sannolikt kommer att vara för invasiv för att inkluderas i äldre versioner.
Buggrättningar¶
Dolt innehåll längst ner på sidan ”Installationen lyckades!” har åtgärdats för vissa språk (#28885).
Åtgärdat felaktig ogiltigförklaring av främmande nycklar om en modell har två främmande nycklar till samma modell och en målmodell raderas (#29016).
Åtgärdad regression vid användning av
QuerySet.values_list(..., flat=True)
följt avannotate()
(#29067).Åtgärdade en regression där en queryset som annoterar med geometriobjekt kraschar (#29054).
Åtgärdade en regression där
contrib.auth.authenticate()
kraschar om en autentiseringsbackend inte accepterarrequest
och en senare gör det (#29071).Åtgärdade en regression där
makemigrations
kraschar om en migreringskatalog inte har en__init__.py
-fil (#29091).Fixad krasch när man anger en ogiltig uuid i
ModelAdmin.raw_id_fields
(#29094).