Django 5.2.2 release notes¶
4 juni 2025
Django 5.2.2 åtgärdar ett säkerhetsproblem med allvarlighetsgrad ”låg” och flera buggar i 5.2.1.
CVE-2025-48432: Potentiell logginjektion via obegränsad sökväg¶
Intern loggning av HTTP-svar använde request.path
direkt, vilket gjorde att kontrolltecken (t.ex. nya rader eller ANSI-escape-sekvenser) kunde skrivas in i loggar utan avkodning. Detta kan möjliggöra injektion eller förfalskning av loggar, vilket gör det möjligt för angripare att manipulera loggens utseende eller struktur, särskilt i loggar som bearbetas av externa system eller visas i terminaler.
Även om detta inte direkt påverkar Djangos säkerhetsmodell, utgör det risker när loggar konsumeras eller tolkas av andra verktyg. För att åtgärda detta escapar den interna funktionen django.utils.log.log_response()
nu alla positionella formateringsargument med hjälp av en säker kodning.
Buggrättningar¶
Fixade en krasch när
select_related
användes mot ettForeignObject
som härstammar från en modell med enCompositePrimaryKey
(#36373`).Åtgärdade ett fel i Django 5.2 där underförfrågningar som använder
"pk"
för att referera till modeller med enCompositePrimaryKey
inte gav upphov tillValueError
när för många eller för få kolumner valdes (#36392`).Åtgärdade en regression i Django 5.2 som orsakade en krasch när inga argument skickades till
QuerySet.union()
(#36388).Åtgärdade en regression i Django 5.2 där underklasser av
RemoteUserMiddleware
som hade åsidosattprocess_request()
inte längre stöddes (#36390).Åtgärdade en regression i Django 5.2 som orsakade en krasch när man använde
OuterRef
ifilter
-argumentet i ettAggregate
-uttryck (#36404`).Fixade en regression i Django 5.2 som orsakade en krasch när du använder
OuterRef
i PostgreSQL-aggregatfunktionerArrayAgg
,StringAgg
ochJSONBAgg
(#36405).Åtgärdade en regression i Django 5.2 där admins
filter_horizontal
-knappar saknadetype="button"
, vilket gjorde att de avbröt formulärinlämning när man tryckte på Enter-tangenten (#36423`).Åtgärdat ett fel i Django 5.2 där anrop av
QuerySet.in_bulk()
med ettid_list
-argument på modeller med enCompositePrimaryKey
inte följde databasens parametergränser (#36416`).Åtgärdat ett fel i Django 5.2 där
HttpRequest.get_preferred_type()
inte tog hänsyn till parametrar för medietyp iAccept
-rubriker, vilket minskade specificiteten i innehållsförhandlingarna (#36411).Åtgärdade en regression i Django 5.2 som orsakade en krasch när man använde
QuerySet.prefetch_related()
för att hämta en främmande nyckel med enPrefetch
queryset för en underklass av det främmande målet (#36432).