Catatan Rilis Django 1.8.3

Ridwan Fajar 1 Agustus 2015

Catatan Rilis Django 1.8.3

Berlalu sudah 8 Juli 2015, dimana Django versi 1.8.3 telah dirilis. Versi ini membawa beberapa perbaikan keamanan yang terdapat di versi 1.8.2. Ada tiga masalah utama yang menjadi perhatian di versi 1.8.3. Tiga masalah utama tersebut antara lain sebagai berikut:

  • Kemungkinan denial-of-service dengan mengisi penyimpanan session, di versi sebelumnya, session backend membuat baris kosong baru di session storage kapanpun request.session diakses dan disana terdapat session key yang disediakan di request cookies yang belum mempunyai session record. Hal ini dapat membuat attacker dengan mudah membuat banyak session record baru dengan mudah melalui request berulang tanpa session key, berpotensi mengisi session stoer sampai penuh atau menyebabkan session record pengguna menjadi rusak
  • Kemungkinan header injection karena validator menerima newline sebagai input
  • Kemungkinan denial-of-service di validasi URL, URLValidator menyertakan regular expression yang secara ekstrim memperlambat evaluasi nilai terhadap beberapa input yang tidak sesuai. Regular expression ini harus disederhanakan dan dioptimasi.
Selain ketiga masalah diatas, berikut ini adalah beberapa perbaikan bug yang terdapat di Django 1.8.3:
  • memperbaiki BaseRangeField.prepare_value() untuk digunakan setiap method prepare_value() milik base_field
  • Memperbaiki crash selama makemigrations jika modul migrasi kehilangan _init _.py atau sebagai file
  • memperbaiki QuerySet.exists() yang mengembalikan hasil keliru setelah anotasi menggunakan Count()
  • memperbaiki HStoreField.has_change()
  • mengembalikan optimasi CSRF template context processor yang menyebabkan kesalahan
  • memperbaiki kesalahan yang menyebabkan template context processor harus menimpa variabel yang diatur di RequestContext sesaat sudah dibuat
  • meningkatkan pyinotify runserver polling
  • memperbaiki kesalahan di URLValidator yang tidak memvalidasi Punycode TLDS.
  • memperbaiki kesalahan di template filter unordered_list untuk input tertentu
  • memperbaiki penghapusan constraints unique_together di MySQL
  • memperbaiki crash ketika melakukan upload gambar dengan jenis MIME yang tidak terdeteksi Pillow, seperti Bitmap, di forms.ImageField
Anda dapat melihat perubahan lengkapnya di Django 1.8.3 Release Notes. Anda pun dapat melihat perubahan untuk versi 1.7.9 dan 1.4.21 yang juga rilis pada tanggal 8 Juli 2015.