Django 1.5.2 release notes¶
13 augusti 2013
Detta är Django 1.5.2, en buggfix- och säkerhetsrelease för Django 1.5.
Mildrad möjlig XSS-attack via användartillhandahållna omdirigeringsadresser¶
Django förlitar sig på användarinmatning i vissa fall (t.ex. django.contrib.auth.views.login()
, django.contrib.comments
, och i18n) för att omdirigera användaren till en ”on success” URL. Säkerhetskontrollerna för dessa omdirigeringar (nämligen django.utils.http.is_safe_url()
) kontrollerade inte om schemat är http(s)
och som sådan tillät javascript:...
URL:er att anges. Om en utvecklare förlitade sig på is_safe_url()
för att tillhandahålla säkra omdirigeringsmål och lade in en sådan URL i en länk, kunde de drabbas av en XSS-attack. Denna bugg påverkar inte Django för närvarande, eftersom vi bara lägger in denna URL i svarshuvudet Location
och webbläsare verkar ignorera JavaScript där.
XSS-sårbarhet i django.contrib.admin
¶
Om en URLField
används i Django 1.5, visar den det aktuella värdet för fältet och en länk till målet på adminändringssidan. Visningsrutinen för denna widget var bristfällig och möjliggjorde XSS.
Buggrättningar¶
Fixade en krasch med
prefetch_related()
(#19607) samt någrapickle
regressioner medprefetch_related
(#20157 och #20257).Åtgärdat en regression i
django.contrib.gis
i Google Map-utdata på Python 3 (#20773).Gjorde så att
DjangoTestSuiteRunner.setup_databases
korrekt hanterar alias för standarddatabasen (#19940) och förhindradeteardown_databases
från att försöka riva ner alias (#20681).Fixade
django.core.cache.backends.memcached.MemcachedCache
backendget_many()
metod på Python 3 (#20722).Åtgärdat
django.contrib.humanize
syntaxfel i översättningen. Berörda språk: Mexikansk spanska, mongoliska, rumänska, turkiska (#20695).Stöd för hjulpaket har lagts till (#19252).
CSRF-token roterar nu när en användare loggar in.
Några Python 3-kompatibilitetsfixar inklusive #20212 och #20025.
Åtgärdat några sällsynta fall där
get()
undantag återkom oändligt (#20278).makemessages
kraschar inte längre medUnicodeDecodeError
(#20354).Fixad
geojson
-detektering med SpatiaLite.assertContains()
fungerar återigen med binärt innehåll (#20237).Fixat
ManyToManyField
om den har en Unicodename
parameter (#20207).Säkerställde att WSGI-begärans sökväg är korrekt baserad på miljövariabeln
SCRIPT_NAME
eller inställningenFORCE_SCRIPT_NAME
, oavsett om någon av dem har ett efterföljande snedstreck eller inte (#20169).Fixade en obskyr bugg med
override_settings()
dekoratorn. Om du får ettAttributeError: 'Settings' object has no attribute '_original_allowed_hosts'
undantag, är det förmodligen åtgärdat (#20636).