Django 6.1.3, 6.0.10, dan 5.2.19 Menambal Enam Celah: Dua Celah SSRF di Modul GIS dan Kebocoran Data Privat lewat Cache, Satu Berperingkat Menengah

Logo Django, framework web Python

Tim Django merilis tiga versi perbaikan pada 3 November 2026, yaitu 6.1.3, 6.0.10, dan 5.2.19. Rilis ini menutup enam celah keamanan. Satu di antaranya berperingkat menengah, sisanya rendah. Pengumuman resmi tidak menyebut adanya eksploitasi di lapangan, tetapi pengembang yang menjalankan aplikasi Django di server publik sebaiknya tidak menunda pembaruan.

Enam celah yang ditambal

Satu-satunya yang berperingkat menengah adalah CVE-2026-111362. Celah server-side request forgery (SSRF) ini ada pada atribut crs di geometri GeoJSON, dan memengaruhi lookup spasial, GeometryField, serta GEOSGeometry. Peneliti dari Submersion Security Research Team melaporkannya. CVE-2026-114582 juga berupa SSRF, kali ini lewat input string pada SpatialReference. Perbaikannya mengubah perilaku: pada GDAL 3.9 ke atas, SpatialReference tidak lagi menerima path berkas atau URL sebagai input string, dan Django menambah pemeriksaan sistem gis.W001 yang memberi peringatan bila GDAL di bawah 3.9.

Empat celah lain berperingkat rendah. CVE-2026-108147 membuat MultiPartParser boros memori pada unggahan berkas base64. CVE-2026-111211 membuka kemungkinan log injection lewat nilai form geometri yang tidak di-escape. CVE-2026-113593 bisa membocorkan data privat bila header Vary kosong atau hilang pada UpdateCacheMiddleware dan cache_page(). Cache lama yang tersimpan untuk permintaan tanpa header tertentu tidak akan cocok lagi dan dibuat ulang pada permintaan berikutnya. Terakhir, CVE-2026-113733 memperlihatkan hash kata sandi kepada admin dengan izin view only pada model user kustom.

Perhatikan satu hal soal cabang lama. Halaman arsip keamanan Django hanya mencantumkan perbaikan CVE-2026-113733 untuk 6.1 dan 6.0, tanpa penjelasan apakah 5.2 tidak terdampak atau belum diperbaiki. Pengguna 5.2 yang memakai model user kustom bersama admin sebaiknya membaca pengumuman lengkap di blog Django sebelum menyimpulkan apa pun.

Versi terdampak dan versi perbaikan

Lima dari enam celah memengaruhi cabang main, 6.1, 6.0, dan 5.2. Perbaikannya ada di Django 6.1.3, 6.0.10, dan 5.2.19. Yang paling perlu bergegas adalah tim yang memakai django.contrib.gis, karena tiga dari enam celah menyentuh komponen GIS, serta tim yang memasang cache halaman penuh di depan aplikasi yang menyajikan konten per pengguna. Untuk kelas celah yang mirip di framework lain, lihat juga liputan kami soal celah kritis Active Storage di Rails.

Langkah yang perlu diambil

Naikkan Django ke 6.1.3, 6.0.10, atau 5.2.19 sesuai cabang yang dipakai, lalu jalankan tes sebelum rilis ke produksi. Jika Anda memakai GIS, cek versi GDAL di server. Di bawah 3.9, perlindungan penuh untuk CVE-2026-114582 tidak tersedia, dan peringatan gis.W001 akan muncul saat pemeriksaan sistem. Bila Anda memakai cache_page(), kosongkan cache setelah pembaruan agar entri lama tidak tersisa. Tinjau juga siapa saja yang memegang izin view only di admin, karena hash kata sandi tidak seharusnya terlihat oleh mereka.

Sumber: Django Software Foundation, pengumuman rilis keamanan dan arsip keamanan Django. Gambar: Django Software Foundation.