Django 3.1.1 versionsinformation¶
1 september 2020
Django 3.1.1 åtgärdar två säkerhetsproblem och flera buggar i 3.1.
CVE-2020-24583: Felaktiga behörigheter för kataloger på mellannivå i Python 3.7+¶
I Python 3.7+ tillämpades inte läget FILE_UPLOAD_DIRECTORY_PERMISSIONS på kataloger på mellannivå som skapats under uppladdning av filer och på insamlade statiska kataloger på mellannivå när kommandot collectstatic användes.
Du bör granska och manuellt fixa behörigheter på befintliga kataloger på mellannivå.
CVE-2020-24584: Upptrappning av behörigheter i kataloger på mellannivå i filsystemets cache på Python 3.7+¶
I Python 3.7+ hade katalogerna på mellannivå i filsystemets cache systemets standard-umask i stället för 0o077 (inga grupp- eller andra behörigheter).
Buggrättningar¶
Korrigerad ombrytning av översatta åtgärdsetiketter i admins sidofält för navigering för östasiatiska språk (#31853).
Fixat ombrytning av långa modellnamn i sidofältet i admins navigering (#31854).
Korrigerad kodning av sessionsdata vid uppgradering av flera instanser av samma projekt till Django 3.1 (#31864).
Justerad mall för sidofältet i admins navigering för att minska felsökningsloggningen vid rendering (#31865).
Fixed a data loss possibility in the
select_for_update(). When using related fields pointing to a proxy model in theofargument, the corresponding model was not locked (#31866).Åtgärdat en möjlighet till dataförlust, efter en regression i Django 2.0, vid kopiering av modellinstanser med ett cachelagrat fältvärde (#31863).
Åtgärdade en regression i Django 3.1 som orsakade en krasch vid avkodning av ogiltiga sessionsdata (#31895).
Återställde en föråldring i Django 3.1 som orsakade en krasch när man skickade föråldrade nyckelordsargument till en queryset i
TemplateView.get_context_data()(#31877).Genomförd trådkänslighet för
MiddlewareMixin.process_request()ochprocess_response()-hooks när de är i ett async-sammanhang (#31905).Fixad
__in-uppslagning på nyckelomvandlingar förJSONFieldmed MariaDB, MySQL, Oracle och SQLite (#31936).Åtgärdade en regression i Django 3.1 som orsakade behörighetsfel i
CommonPasswordValidatorochsettings.pysom genererades av kommandotstartproject, när användaren inte hade behörighet till alla mellanliggande kataloger i en Django-installationssökväg (#31912).Fixade upptäckten av en asynkron
get_response-kallelse i olika inbyggda mellanprogram (#31928).Fixade en
QuerySet.order_by()krasch på PostgreSQL när du beställer och grupperar efterJSONFieldmed en anpassaddecoder(#31956). Som en följd av detta returnerar hämtning av enJSONFieldmed rå SQL nu en sträng istället för förinstallerade data. Du måste uttryckligen anropajson.loads()i sådana fall.Fixade en
QuerySet.delete()-krasch på MySQL, efter en prestandaregression i Django 3.1 på MariaDB 10.3.2+, vid filtrering mot en aggregerad funktion (#31965).Fixade en
django.contrib.admin.EmptyFieldListFilterkrasch vid användning på omvända relationer (#31952).Förhindrade överflödigt innehåll i vyn för adminändringslistan när sidofältet för navigering är aktiverat (#31901).