Pengembang Ninja Forms, sebuah plugin WordPress dengan lebih dari 1 juta instalasi, telah memperbaiki kerentanan keamanan dengan tingkat keparahan tinggi yang memungkinkan penyerang untuk menginjeksikan kode berbahaya dan mengambil alih situs web.
Kerentanan tersebut adalah Cross-Site Request Forgery (CSRF) yang nantinya mengarah ke serangan Stored Cross-Site Scripting (Stored XSS) dan memengaruhi semua versi Ninja Forms hingga versi 3.4.24.2.
Penyerang dapat memanfaatkan kerentanan ini dengan menipu admin WordPress agar mengklik tautan yang menginjeksikan kode JavaScript berbahaya sebagai bagian dari formulir kontak yang baru diimpor.
Ninja Forms adalah plugin form builder yang memungkinkan pengguna WordPress untuk membuat formulir kompleks hanya dalam beberapa menit dengan bantuan editor berbasis drag and drop.
Formulir dengan kode berbahaya
Penyerang dapat menyalahgunakan fungsi plugin untuk mengganti semua formulir yang ada di situs web yang ditargetkan dengan yang berbahaya menurut laporan penelitian yang diterbitkan oleh Wordfence.
Untuk melakukan ini, penyerang dapat menyalahgunakan fungsi AJAX ninja_forms_ajax_import_form yang ditambahkan oleh mode ‘legacy’ plugin.
Fungsi ini tidak memeriksa apakah permintaan berasal dari pengguna yang sah, dengan demikian, memungkinkan untuk memalsukan permintaan menggunakan sesi administrator setelah mereka mengklik tautan yang disiapkan penyerang dan mengimpor formulir yang berisi kode JavaScript berbahaya.
Semua formulir di situs yang diserang juga dapat diganti dengan yang berbahaya setelah memanipulasi parameter $_POST formID-nya.
“Bergantung pada dimana JavaScript ditempatkan dalam formulir yang diimpor, itu dapat dieksekusi di browser korban setiap kali mereka mengunjungi halaman yang berisi formulir, setiap kali Administrator mengunjungi halaman Impor/Ekspor plugin, atau setiap kali Administrator berusaha mengedit salah satu bidang formulir,” kata peniliti di Wordfence.
“Seperti tipikal serangan Cross-Site Scripting (XSS) lainnya, skrip berbahaya yang dijalankan di browser Administrator dapat digunakan untuk menambahkan akun administratif baru, yang mengarah pada pengambilalihan situs, sementara skrip berbahaya yang dijalankan di browser pengunjung dapat digunakan untuk mengarahkan pengunjung itu ke situs berbahaya.”
Baca Juga: “Kerentanan Kritis Ditemukan Dalam Beberapa Plugin e-Learning Populer Untuk WordPress“
Lebih dari 800.000 situs masih rentan
Kerentanan itu ditemukan dan dilaporkan secara bertanggung jawab kepada pengembang Ninja Forms, Saturday Drive, oleh Wordfence pada 27 April 2020 dan perbaikan keamanan untuk masalah ini diterbitkan di versi 3.4.24.2 dalam waktu kurang dari satu hari setelah laporan.
Wordfence telah memberi peringkat masalah keamanan ini dengan skor CVSS 8,8 yang membuatnya menjadi kerentanan tingkat keparahan tinggi, yang seharusnya mendorong semua pengguna Ninja Forms untuk segera memperbarui plugin ke versi terbaru.
Namun, meskipun perbaikan keamanan segera dirilis ketersediaannya selama hampir tiga hari, hanya sekitar 170.000 dari semua 1 juta pengguna telah memperbarui instalasi mereka ke versi terbaru dalam seminggu terakhir ini.