GiveWP, plugin donasi WordPress yang menggerakkan jutaan situs amal, tiba-tiba menghadapi celah eksekusi kode jarak jauh (remote-code-execution) yang kritis. CVE-2026-82222 mendapatkan skor sempurna 10.0 pada CVSS dan memungkinkan siapa pun di internet untuk menjalankan perintah arbitrer pada server yang rentan. Perbaikannya hadir pada versi 4.16.7.2.

Mengapa bug ini penting

GiveWP menjadi inti dari tak terhitung banyaknya halaman penggalangan dana. Pemilik situs mengandalkannya untuk menangani data donatur, memproses pembayaran, dan menyimpan informasi sesi. Penyerang yang dapat mengeksekusi kode pada server yang mendasarinya dapat mencuri kredensial, mengubah tampilan (deface) situs, atau berpindah ke bagian lain dari jaringan. Karena kerentanan ini bekerja tanpa perlu login, seluruh internet publik menjadi permukaan serangan (attack surface).

Cara eksploitasi bekerja

Celah ini bukanlah satu kesalahan pengodean tunggal; melainkan rangkaian dari tiga masalah terpisah yang secara bersama-sama membuka pintu belakang (back door).

  1. Deserialisasi yang tidak aman (Unsafe deserialization) – Fungsi pembantu safeUnserialize milik plugin mengubah objek terserialisasi menjadi placeholder alih-alih menghapusnya, sehingga data objek asli tetap utuh.
  2. Re-deserialisasi buta (Blind re-deserialization) – Data yang diambil dari database dimasukkan kembali ke dalam unserialize tanpa validasi, sehingga objek yang telah dirancang dapat dihidupkan kembali.
  3. Rantai gadget TCPDF (TCPDF gadget chain) – GiveWP menyertakan pustaka pembuatan PDF TCPDF, yang berisi rantai kelas yang dapat memanggil perintah sistem setelah objek berbahaya di-unserialize.

Penyerang mengikuti alur empat langkah yang tidak memerlukan akun sebelumnya:

  • Registrasi – Dengan melakukan hooking pada aksi user_register, penyerang dapat membuat pengguna WordPress meskipun registrasi situs dinonaktifkan.
  • Penanaman (Planting) – Penyerang menyimpan payload terserialisasi di kolom last_name pada profil baru tersebut.
  • Peracunan (Poisoning) – Pengiriman donasi memaksa plugin untuk menulis payload tersebut ke dalam tabel wp_give_sessions.
  • Eksekusi – Saat halaman publik mana pun membaca sesi tersebut di kemudian hari, objek berbahaya akan di-unserialize, rantai gadget TCPDF aktif, dan perintah yang diberikan penyerang dijalankan di server.

Patch (Perbaikan)

Pengembang GiveWP merilis versi 4.16.7.2 untuk memutus rantai tersebut di setiap tautannya:

  • Donasi yang mengandung data terserialisasi akan langsung ditolak.
  • Semua fungsi pembacaan data kini menerapkan pemeriksaan tipe dan konten yang ketat.
  • Rantai gadget TCPDF diblokir secara eksplisit, mencegah pemanggilan metode yang tidak sah.
  • Bidang meta, termasuk last_name, disanitasi sebelum disimpan.
  • Migrasi database berjalan secara otomatis untuk membersihkan semua payload berbahaya yang ada.

Memperbarui plugin adalah langkah pertama; Anda harus memverifikasi bahwa migrasi sanitasi telah berjalan untuk menghapus payload yang sudah ada di dalam database Anda.

Siapa yang berisiko

Situs WordPress mana pun yang menjalankan GiveWP versi 4.16.7.1 atau sebelumnya rentan terhadap serangan, terlepas dari apakah registrasi diaktifkan atau tidak. Organisasi nirlaba besar, badan amal kecil, dan halaman penggalangan dana pribadi semuanya bisa terancam. Serangan ini tidak bergantung pada konfigurasi server tertentu; lingkungan PHP apa pun yang mendukung pustaka TCPDF bawaan sangat rentan.

Argumen Penyeimbang

Beberapa pemilik situs berargumen bahwa eksploitasi ini memerlukan donatur untuk mengirimkan pembayaran, yang mereka anggap sebagai peristiwa dengan probabilitas rendah. Kerentanan ini membuktikan bahwa anggapan tersebut salah: payload berbahaya disimpan selama langkah donasi, tetapi eksekusi terjadi pada pemuatan halaman berikutnya, bahkan tanpa pembayaran yang selesai. Sifatnya yang tidak memerlukan autentikasi dan skor CVSS 10.0 membuat risiko ini terlalu tinggi untuk dianggap sekadar kekhawatiran teoretis.

Kesimpulan

CVE-2026-82222 pada GiveWP menunjukkan bagaimana serangkaian jalan pintas pengodean yang tampak tidak berbahaya dapat bergabung menjadi pelanggaran yang katastrofik. Perbaikannya sudah tersedia. Operator situs harus segera melakukan upgrade ke 4.16.7.2, memastikan bahwa migrasi telah membersihkan payload yang ada, dan memantau log untuk tanda-tanda aktivitas pasca-eksploitasi. Mengabaikan patch ini dapat membiarkan kehadiran web organisasi amal—dan data donaturnya—terekspos kepada aktor jahat dengan kontrol server penuh.