Essential Addons for Elementor, plugin WordPress populer yang digunakan di lebih dari satu juta situs, telah ditemukan memiliki kerentanan eksekusi kode jarak jauh (RCE) kritis di versi 5.0.4 dan yang lebih lama.
Cacat memungkinkan pengguna yang tidak diautistik untuk melakukan serangan inklusi file lokal, seperti file PHP, untuk mengeksekusi kode di situs.
“Kerentanan inklusi file lokal ada karena cara data input pengguna digunakan di dalam PHP termasuk fungsi yang merupakan bagian dari fungsi ajax_load_more dan ajax_eael_product_gallery,” jelas peneliti PatchStack yang menemukan kerentanan.
Satu-satunya prasyarat untuk serangan ini adalah agar situs tersebut mengaktifkan widget “galeri dinamis” dan “galeri produk” sehingga tidak ada pemeriksaan token yang ada.
Dua upaya patching gagal
Peneliti Wai Yan Muo Thet menemukan kerentanan pada 25 Januari 2022, dan pengembang plugin sudah tahu tentang keberadaannya pada saat itu.
Bahkan, penulis telah merilis versi 5.0.3 untuk mengatasi masalah ini dengan menerapkan fungsi “sanitize_text_field” pada data input pengguna. Namun, sanitasi ini tidak mencegah masuknya muatan lokal.
Upaya kedua adalah versi 5.0.4, yang menambahkan fungsi “sanitize_file_name” dan berusaha untuk menghapus karakter khusus, titik,garis miring, dan apa pun yang dapat digunakan untuk mengesampingkan langkah sanitasi teks.
Ini adalah versi yang diuji patchstack dan menemukan rentan, sehingga mereka memberitahu pengembang bahwa perbaikan tidak mengurangi masalah cukup.
Akhirnya, penulis merilis versi 5.0.5 yang menerapkan fungsi “realpath” PHP, mencegah resolusi pathname berbahaya.
Memperbarui dan mengurangi
Versi ini dirilis minggu lalu, pada tanggal 28 Januari 2022, dan saat ini hanya diinstal sekitar 380.000 kali menurut statistik unduhan WordPress.
Dengan plugin yang diinstal di lebih dari 1 juta situs WordPress, itu berarti ada lebih dari 600 ribu situs yang belum menerapkan pembaruan keamanan.
Jika Anda termasuk di antara banyak yang menggunakan Essential Addons untuk Elementor, Anda bisa mendapatkan versi terbaru dari sini atau menerapkan pembaruan langsung dari dasbor WP.
Untuk mencegah aktor memanfaatkan kelemahan inklusi file lokal bahkan ketika mereka tidak dapat dikurangi secara langsung, ikuti langkah-langkah ini:
- Simpan jalur file Anda dalam database yang aman dan berikan ID untuk setiap orang.
- Gunakan file allowlist yang diverifikasi dan aman dan abaikan yang lainnya.
- Jangan sertakan file di server web yang dapat dikompromikan, tetapi gunakan database sebagai gantinya.
- Buat server mengirim header unduhan secara otomatis alih-alih mengeksekusi file di direktori tertentu.
Sumber: Bleepingcomputer