Kerentanan di Adblock Plus yang memungkinkan eksekusi kode saat menggunakan filter yang meragukan

Di pemblokir iklan Adblock Plus diidentifikasi kerentanan, memungkinkan mengatur eksekusi kode JavaScript dalam konteks situs, jika menggunakan filter belum terverifikasi yang disiapkan oleh penyerang (misalnya, saat menghubungkan kumpulan aturan pihak ketiga atau melalui substitusi aturan selama serangan MITM).

Penulis daftar dengan kumpulan filter dapat mengatur eksekusi kodenya dalam konteks situs yang dibuka oleh pengguna dengan menambahkan aturan dengan operator "menulis kembali", yang memungkinkan Anda mengganti sebagian URL. Operator penulisan ulang tidak mengizinkan Anda mengganti host di URL, namun memungkinkan Anda memanipulasi argumen permintaan dengan bebas. Hanya teks yang dapat digunakan sebagai topeng pengganti, dan penggantian tag skrip, objek, dan subdokumen diperbolehkan diblokir.

Namun, eksekusi kode dapat dicapai sebagai solusi.
Beberapa situs, termasuk Google Maps, Gmail, dan Google Images, menggunakan teknik memuat blok JavaScript yang dapat dieksekusi secara dinamis, yang dikirimkan dalam bentuk teks biasa. Jika server mengizinkan pengalihan permintaan, penerusan ke host lain dapat dilakukan dengan mengubah parameter URL (misalnya, dalam konteks Google, pengalihan dapat dilakukan melalui API "google.com/pencarian"). Selain host yang mengizinkan pengalihan, serangan juga dapat dilakukan terhadap layanan yang mengizinkan pengeposan konten pengguna (hosting kode, platform pengeposan artikel, dll.).

Metode serangan yang diusulkan hanya memengaruhi halaman yang memuat string kode JavaScript secara dinamis (misalnya, melalui XMLHttpRequest atau Fetch) dan kemudian mengeksekusinya. Batasan penting lainnya adalah kebutuhan untuk menggunakan pengalihan atau menempatkan data sewenang-wenang di sisi server asli yang mengeluarkan sumber daya. Namun, untuk menunjukkan relevansi serangan tersebut, ditunjukkan cara mengatur eksekusi kode Anda saat membuka map.google.com, menggunakan pengalihan melalui β€œgoogle.com/search”.

Perbaikannya masih dalam persiapan. Masalahnya juga mempengaruhi pemblokir AdBlock ΠΈ uBlock. Pemblokir uBlock Origin tidak terpengaruh oleh masalah ini, karena tidak mendukung operator β€œpenulisan ulang”. Pada suatu waktu penulis uBlock Origin
menolak tambahkan dukungan untuk penulisan ulang, dengan alasan potensi masalah keamanan dan pembatasan tingkat host yang tidak memadai (opsi jalur kueri diusulkan alih-alih menulis ulang untuk membersihkan parameter kueri alih-alih menggantinya).

Pengembang Adblock Plus menganggap serangan nyata tidak mungkin terjadi, karena semua perubahan pada daftar aturan standar ditinjau, dan menghubungkan daftar pihak ketiga sangat jarang terjadi di kalangan pengguna. Pergantian aturan melalui MITM dicegah dengan penggunaan default HTTPS untuk mengunduh daftar blokir standar (untuk daftar lain direncanakan untuk melarang pengunduhan melalui HTTP di rilis mendatang). Arahan dapat digunakan untuk memblokir serangan di sisi situs CSP (Kebijakan Keamanan Konten), yang melaluinya Anda dapat secara eksplisit menentukan host tempat sumber daya eksternal dapat dimuat.

Sumber: opennet.ru

Tambah komentar