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.
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.
Fixade en obskyr bugg med override_settings() dekoratorn. Om du får ett AttributeError: 'Settings' object has no attribute '_original_allowed_hosts' undantag, är det förmodligen åtgärdat (#20636).
aug. 11, 2025