Elementor Pro, salah satu plugin page builder paling populer untuk WordPress dengan lebih dari 6 juta instalasi, baru saja menambal keamanan kritis yang memungkinkan penyerang tanpa autentikasi untuk mengunggah file berbahaya dan mengeksekusi kode remote (RCE) di server. Kerentanan ini ditandai sebagai CVE-2026-32475 dengan skor CVSS 9.0 — termasuk kategori paling parah.
Bug ini berada di path upload form widget Elementor Pro (process_field → Upload::validation()). Validasi loop mengiterasi array file untuk satu field. Ketika elemen pertama memiliki UPLOAD_ERR_NO_FILE (filename kosong), kode memanggil return alih-alih continue — menghentikan pengecekan ekstensi dan MIME untuk setiap file berikutnya di field tersebut. Sementara itu, mover (yang memindahkan file) berjalan di loop terpisah yang tetap menulis file meskipun slot pertama kosong. Validasi berhenti awal, mover terus jalan.
Penyerang cukup mengirim request POST ke /wp-admin/admin-ajax.php dengan action=elementor_pro_forms_send_form dan menyisipkan file PHP berbahaya di slot kedua field upload — slot dibiarkan kosong untuk memicu UPLOAD_ERR_NO_FILE. File mendarat di wp-content/uploads/elementor/forms/<uniqid>.php tanpa pernah divalidasi. Wordfence mencatat lebih dari 190.000 percobaan blokir sejak pengungkapan 19 Agustus, dengan puncak serangan 19–23 Agustus.
Cek dampak: Jalankan find wp-content/uploads/elementor/forms/ -type f -name "*.php" -ls — jika ada file PHP di sana, anggap server sudah dikompromi, bukan sekadar perlu patch. Fix: Update Elementor Pro ke versi 4.2.2 atau lebih baru. Tambahan hardening: blok eksekusi PHP di folder upload via konfigurasi web server (nginx deny all untuk .php di path tersebut, atau <FilesMatch ".php$"> Require all denied</FilesMatch> di .htaccess untuk Apache).
Pelajaran teknis: jangan biarkan validasi dan file-move berbeda pendapat tentang arti “kosong”. Satu loop, continue saat kosong, allowlist ekstensi, randomize nama file tanpa mempertahankan ekstensi penyerang, dan tolak eksekusi di folder upload di level web server.
Sumber asli: dev.to
