Django 1.4.6 release notes¶
13 augusti 2013
Django 1.4.6 åtgärdar ett säkerhetsproblem som fanns i tidigare Django-versioner i 1.4-serien, samt en annan bugg.
Detta är den sjätte bugfix/säkerhetsreleasen i Django 1.4-serien.
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.
Buggrättningar¶
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).