Selasa lalu, 17 September 2026, tim inti WordPress merilis versi 7.1.1 secara terburu-buru. Bukan untuk fitur baru, melainkan untuk menambal satu rantai kerentanan yang oleh penemunya diberi nama Click2Shell: sebuah jalur eksekusi kode jarak jauh (RCE) yang dimulai hanya dari satu klik pada tautan, dan berakhir dengan webshell PHP tertanam di situs korban. Sehari kemudian, 18 September 2026, peneliti keamanan di pwn.ai mempublikasikan analisis teknis lengkapnya, lengkap dengan proof-of-concept.
Bagi Indonesia, ini bukan berita yang bisa dilewatkan begitu saja. WordPress masih menguasai lebih dari 40% situs web di dunia menurut data pangsa pasar CMS terkini, dan proporsi itu tercermin kuat di sini: mulai dari situs UMKM, toko daring skala kecil-menengah, portal berita lokal, hingga sebagian layanan instansi pemerintah daerah dibangun di atas WordPress karena ekosistem tema dan plugin-nya yang murah dan mudah dikustomisasi. Kemudahan itu juga yang membuatnya jadi sasaran empuk begitu satu kerentanan inti ditemukan, karena dampaknya langsung menjalar ke jutaan instalasi sekaligus.
Apa Itu Click2Shell?
Click2Shell bukan satu bug tunggal, melainkan rantai dua kelemahan yang saling menyambung: satu di sisi JavaScript panel admin WordPress, satu lagi di dalam kode tema pihak ketiga yang dipakai sebagai "kendaraan" eksploitasi. Yang membuatnya berbahaya adalah rantai ini bisa dipicu tanpa korban perlu memasukkan kredensial apa pun secara sadar. Cukup seorang administrator WordPress yang sudah login membuka satu tautan yang tampak biasa saja, dan proses instalasi tema beserta eksekusi kode di baliknya berjalan otomatis di latar belakang.
Akar masalahnya klasik namun sering luput: satu nilai parameter URL diproses oleh dua sistem berbeda dengan aturan sanitasi yang tidak sinkron.
Tahap 1 — Instalasi Tema Paksa
Di berkas wp-admin/js/theme.js, slug tema yang datang dari parameter URL dikirim ke API Tema WordPress.org untuk divalidasi. Di sisi server, API ini "membersihkan" slug tersebut sehingga hanya tema yang sah yang dikembalikan. Namun di sisi peramban, nilai asli yang belum disaring itu tetap dipakai langsung sebagai string selektor jQuery, seperti berikut sebelum ditambal:
$( 'div[data-slug="' + slug + '"]' )
Dengan slug yang dirancang khusus, misalnya menyisipkan karakter penutup atribut dan operator selektor CSS/jQuery, penyerang bisa membuat selektor ini "menjalar" ke elemen lain di halaman, termasuk tombol Install pada kartu tema yang benar-benar valid. Hasilnya, peramban admin korban otomatis mengeklik tombol instalasi tema itu sendiri, tanpa admin sadar telah melakukan apa pun selain membuka tautan.
Tahap 2 — Pratinjau yang Menjalankan Kode
Tautan susulan memuat Customizer WordPress dengan tema yang baru saja terpasang itu dalam mode pratinjau. Pada titik ini, berkas functions.php milik tema — yang sepenuhnya berada di bawah kendali penyerang karena mereka yang menerbitkan tema tersebut ke direktori WordPress.org — mulai dieksekusi di server korban.
Tahap 3 — Handler AJAX Tanpa Pengaman
Dalam proof-of-concept yang didemonstrasikan pwn.ai, tema pemicu bernama "Mobile Repair Zone" versi 2.5.4 mendaftarkan aksi AJAX kustom yang menerima detail plugin dari input pengguna dan langsung mengunduh serta memasangnya, tanpa pemeriksaan nonce maupun pemeriksaan kapabilitas pengguna. Artinya, siapa pun yang bisa memicu permintaan itu — termasuk lewat trik selektor di Tahap 1 — dapat menyuruh WordPress memasang "plugin" apa pun dari URL yang mereka tentukan.
Tahap 4 — Shell Jarak Jauh
Langkah terakhir tinggal formalitas: penyerang menyediakan arsip ZIP berisi kode PHP berbahaya yang dikemas seolah-olah plugin sah, WordPress memasang dan mengaktifkannya, dan penyerang mendapatkan eksekusi kode PHP penuh di server. Dari titik ini, webshell, pencurian data, hingga pivot ke sistem lain tinggal menunggu waktu.
Menariknya, WordPress belum menetapkan nomor CVE resmi untuk Click2Shell saat pengungkapan pertama dipublikasikan — tim inti disebut baru akan "segera menerbitkan CVE". Ketiadaan nomor CVE sering membuat kerentanan seperti ini luput dari radar pemindai otomatis untuk sementara waktu, padahal dampaknya nyata dan PoC sudah beredar publik.
Perbaikan di Versi 7.1.1
Tambalannya sebenarnya sederhana secara kode, tapi krusial secara prinsip: selektor jQuery kini dibatasi hanya ke elemen .theme yang sah, dan nilai slug dilewatkan melalui fungsi $.escapeSelector() sebelum digunakan:
$( 'div.theme[data-slug="' + $.escapeSelector( slug ) + '"]' )
Perubahan satu baris ini mengubah data yang tadinya bisa "dibaca" sebagai perintah selektor menjadi murni teks literal — prinsip pemisahan data dan kode yang sama persis dengan pencegahan SQL injection atau XSS, hanya diterapkan di lapisan DOM/jQuery.
Bukan Insiden Tunggal: Pola yang Berulang di Inti WordPress
Yang membuat kabar ini lebih meresahkan adalah konteksnya. Belum genap dua bulan sebelumnya, komunitas keamanan WordPress juga membedah rantai eksploitasi lain yang oleh sebagian peneliti disebut "wp2shell" — gabungan CVE-2026-63030 (celah validasi jalur pada endpoint batch REST API) dan CVE-2026-60137 (SQL injection pada parameter author__not_in), dengan skor CVSS gabungan 9,8. Kerentanan itu memengaruhi WordPress 6.9.0–6.9.4 dan 7.0.0–7.0.1, sudah ditambal di 6.9.5/7.0.2, dan menurut laporan Bitdefender MDR, eksploitasinya di alam bebas sudah berlangsung aktif bahkan sebelum PoC publik beredar — cukup serius sehingga CISA memasukkannya ke katalog Known Exploited Vulnerabilities pada 21 Juli 2026.
Dua rantai RCE kritis pada inti WordPress dalam rentang kurang dari dua bulan bukan kebetulan statistik yang bisa diabaikan. Ini sinyal bahwa permukaan serang WordPress — kombinasi JavaScript panel admin, REST API, dan ekosistem tema/plugin pihak ketiga yang sangat besar — masih menyimpan banyak asumsi keamanan yang tidak konsisten antar lapisan. Bagi pengelola situs, pelajaran praktisnya sama: jangan menunggu nomor CVE resmi atau laporan eksploitasi massal sebelum menambal, karena rentang waktu antara pengungkapan dan eksploitasi aktif bisa sangat singkat.
Mengapa Ini Penting untuk Pengelola Situs di Indonesia
Beberapa karakteristik ekosistem WordPress di Indonesia justru memperbesar risiko rantai seperti Click2Shell:
- Akun admin yang jarang dipisahkan perannya. Banyak situs UMKM dan instansi kecil hanya punya satu atau dua akun dengan hak administrator penuh, dan akun itu sering dipakai untuk aktivitas sehari-hari termasuk membuka tautan dari email atau pesan yang tidak diverifikasi — persis skenario yang dibutuhkan Click2Shell untuk bekerja.
- Ketergantungan pada tema dan plugin pihak ketiga bermutu bervariasi. Direktori tema dan plugin WordPress terbuka bagi siapa saja untuk mengunggah, dan seperti terlihat pada kasus "Mobile Repair Zone", satu tema dengan kode AJAX yang lalai saja cukup untuk menjadi kendaraan RCE bagi jutaan instalasi lain.
- Manajemen pembaruan yang belum menjadi rutinitas. Banyak pengelola situs kecil menonaktifkan pembaruan otomatis karena trauma tema/plugin rusak, padahal justru pembaruan inti seperti 7.1.1 inilah yang paling kritikal untuk segera diterapkan.
- Konsekuensi hukum jika data pengguna bocor. Jika situs yang diretas lewat rantai seperti ini menyimpan data pribadi pelanggan — nama, alamat, nomor telepon, data transaksi — maka kebocoran akibat kelalaian menambal kerentanan yang sudah diketahui publik bisa dikategorikan sebagai kegagalan pengendali data memenuhi kewajiban keamanan sistem elektronik di bawah UU PDP No. 27/2022, di luar potensi jerat UU ITE bagi pihak yang mengeksploitasinya.
Langkah Mitigasi yang Perlu Segera Dilakukan
Untuk pengelola situs berbasis WordPress di Indonesia, berikut prioritas tindakan yang disarankan:
- Perbarui ke WordPress 7.1.1 atau lebih baru sekarang juga. Ini satu-satunya perbaikan tuntas untuk Click2Shell. Jika situs masih berjalan di versi 6.9.x atau 7.0.x, pastikan juga sudah naik ke 6.9.5/7.0.2 untuk menutup celah wp2shell yang terpisah.
- Aktifkan
DISALLOW_FILE_MODSdiwp-config.phppada situs yang tidak butuh instalasi tema/plugin rutin dari dasbor, untuk memutus rantai eksploitasi di Tahap 1 sekalipun tambalan belum terpasang. - Audit daftar akun administrator dan plugin terpasang. Cari akun yang tidak dikenali (terutama pola nama mencurigakan yang tiba-tiba muncul) dan plugin yang tidak pernah dipasang oleh tim, lalu periksa direktori
wp-content/plugins/untuk berkas PHP asing. - Batasi kebiasaan membuka tautan tak terverifikasi saat sesi admin aktif. Karena Click2Shell butuh admin yang login untuk membuka tautan berbahaya, edukasi tim redaksi/admin situs menjadi lapisan pertahanan tambahan yang murah namun efektif.
- Pasang aturan WAF untuk pola permintaan mencurigakan ke
wp-admin/theme-install.php,customize.php, dan endpoint/wp-json/batch/v1, termasuk memantau respons HTTP 207 yang tidak wajar dari endpoint batch. - Siapkan rencana respons insiden yang mencakup langkah notifikasi jika ditemukan indikasi kompromi pada sistem yang menyimpan data pribadi, sejalan dengan kewajiban pelaporan di bawah UU PDP.
Penutup
Click2Shell adalah pengingat bahwa kerentanan paling berbahaya tidak selalu berupa bug eksotis yang butuh keahlian eksploitasi tingkat tinggi. Kadang cukup satu ketidaksesuaian sanitasi antara server dan peramban, dikombinasikan dengan satu tema pihak ketiga yang lalai, untuk menghasilkan rantai serangan dari satu klik menjadi kendali penuh atas server. Bagi ekosistem WordPress Indonesia yang begitu luas dan beragam kualitas pengelolaannya, disiplin pembaruan versi inti, audit rutin plugin/tema, dan kewaspadaan administrator terhadap tautan yang tidak dikenal tetap menjadi pertahanan paling mendasar — dan paling murah — yang bisa diterapkan hari ini juga.



