Catatan terbitan Django 1.4.20¶
18 Maret 2015
Django 1.4.20 memperbaiki masalah keamanan di 1.4.19.
Mengurangi kemungkinan serangan XSS melalui mengalihkan URL penyediaan-pengguna¶
Django bergantung pada masukan pengguna di beberapa kasus (sebagai contoh django.contrib.auth.views.login()
and i18n) untuk mengalihkan pengguna pada URL "on success". Pemeriksaan keamanan untuk pengalihan ini (bernama django.utils.http.is_safe_url()
) URL diterima dengan karakter pengendali terkemuka dan jadi URL dipertimbangkan seperti aman \x08javascript:...
. Masalah ini tidak mempengaruhi Django saat ini, sejak kami hanya menaruh URL ini kedalam kepala tanggapan Location
dan peramban kelihatannya mengabaikan JavaScript disana. Peramban kami cobakan juga memperlakukan awalan URL dengan karakter kendali seperti %08//example.com
sebagai jalur relatif jadi pengalihan pada sasaran tidak aman tidaklah masalah juga.
Bagaimanapun, jika seorang pengembang bergantung pada is_safe_url()
untuk menyediakan ssaran pengalihan aman dan menaruh URL itu kedalam sebuah tautan, mereka dapat menderita dari sebuah serangan XSS ketika beberapa peramban seperti Google Chrome mengabaikan kendali karakter pada awal dari URL di sebuah jangkar href
.