Kerentanan dalam kerangka web Django yang dapat menyebabkan substitusi SQL

Rilis korektif kerangka web Django 4.0.6 dan 3.2.14 telah diterbitkan, yang memperbaiki kerentanan (CVE-2022-34265) yang berpotensi memungkinkan Anda untuk mengganti kode SQL Anda. Masalah ini memengaruhi aplikasi yang menggunakan data eksternal yang belum diverifikasi dalam parameter kind dan lookup_name yang diteruskan ke fungsi Trunc(kind) dan Extract(lookup_name) . Program yang hanya mengizinkan data terverifikasi dalam nilai lookup_name dan kind tidak terpengaruh oleh kerentanan.

Masalahnya diblokir dengan melarang penggunaan karakter selain huruf, angka, β€œ-β€œ, β€œ_”, β€œ(” dan β€œ)” dalam argumen fungsi Ekstrak dan Trunc. Sebelumnya, kutipan tunggal tidak dipotong dalam nilai yang dikirimkan, yang memungkinkan untuk mengeksekusi konstruksi SQL Anda dengan meneruskan nilai seperti β€œhari' FROM start_datetime)) OR 1=1;—” dan β€œyear', start_datetime) ) ATAU 1=1;β€”β€œ. Pada rilis 4.1 berikutnya, direncanakan untuk lebih memperkuat perlindungan metode ekstraksi dan pemotongan tanggal, namun perubahan yang dilakukan pada API akan menyebabkan gangguan kompatibilitas dengan backend database pihak ketiga.

Sumber: opennet.ru

Tambah komentar