PHP2Shell: Penyebab, Dampak, dan Cara Mengamankan Website dari Celah Keamanan PHP

PHP2Shell Penyebab, Dampak, dan Cara Mengamankan Website dari Celah Keamanan PHP
PHP2Shell Penyebab, Dampak, dan Cara Mengamankan Website dari Celah Keamanan PHP

Belakangan ini, dunia keamanan website kembali diingatkan bahwa masalah keamanan tidak selalu datang dari plugin yang sudah lama tidak diperbarui atau password administrator yang terlalu mudah ditebak. Ada juga celah yang berada jauh di bawahnya, yaitu pada mesin yang menjalankan aplikasi website itu sendiri.

Salah satu isu yang sedang menjadi perhatian pada Oktober 2026 adalah PHP2Shell. Istilah ini digunakan untuk menyebut dua kerentanan kritis pada PHP yang dapat memungkinkan penyerang menjalankan kode berbahaya dari jarak jauh pada server yang rentan.

Bagi pemilik website, kabar ini tentu perlu diperhatikan. PHP digunakan oleh banyak website, termasuk WordPress dan berbagai aplikasi berbasis Laravel, CodeIgniter, Joomla, serta Drupal. Namun, bukan berarti semua website tersebut otomatis diretas. Risiko sebenarnya bergantung pada versi PHP, konfigurasi server, dan apakah sistem sudah mendapatkan pembaruan keamanan yang sesuai.

Menurut saya, hal terpenting dari berita seperti ini bukan sekadar mengetahui nama celah keamanannya. Kita juga perlu memahami bagaimana masalah tersebut bisa terjadi, apa yang mungkin dilakukan penyerang, dan langkah apa yang benar-benar bisa membantu melindungi website.

Apa Itu PHP2Shell?

PHP2Shell adalah sebutan untuk dua kerentanan keamanan pada mesin PHP yang diumumkan pada 21 Oktober 2026. Kedua kerentanan tersebut tercatat dengan nomor identifikasi berikut:

  • CVE-2026-109618
  • CVE-2026-109619

Keduanya memiliki tingkat keparahan kritis, dengan skor CVSS v4.0 sebesar 9,2 dari 10. Dampak yang menjadi perhatian adalah remote code execution atau RCE, yaitu kondisi ketika penyerang dapat membuat server menjalankan kode yang tidak semestinya melalui permintaan jaringan.

Dalam kondisi tertentu, serangan dapat dilakukan tanpa harus masuk ke dashboard administrator atau mengetahui password pengguna website terlebih dahulu.

Supaya lebih mudah dipahami, bayangkan PHP sebagai mesin yang menerjemahkan permintaan pengunjung menjadi halaman website yang bisa dibaca. Ketika seseorang membuka halaman login, mengirim formulir, atau meminta data tertentu, PHP membantu memproses permintaan tersebut.

Masalahnya, apabila mesin PHP memiliki kelemahan dalam mengelola memori, permintaan yang dibuat secara khusus bisa memicu perilaku yang tidak seharusnya terjadi. Jika kelemahan itu berhasil dimanfaatkan, akibatnya bukan sekadar halaman website mengalami error. Penyerang berpotensi menjalankan perintah dengan hak akses proses PHP yang diserang.

Inilah yang membuat PHP2Shell perlu ditanggapi secara serius. Masalahnya berada pada lapisan PHP, bukan semata-mata pada desain website atau tampilan halaman.

Mengapa Kerentanan PHP2Shell Bisa Terjadi?

Untuk memahami penyebabnya, kita perlu mengenal sedikit cara kerja PHP ketika menerima permintaan dari pengunjung website.

1. PHP mengelola memori saat memproses permintaan

Ketika sebuah permintaan HTTP masuk, PHP memproses data yang diperlukan untuk menghasilkan respons. Data tersebut dapat berupa teks, informasi sesi, data formulir, atau informasi lain yang digunakan oleh aplikasi.

Selama proses itu berlangsung, PHP menggunakan memori untuk menyimpan dan mengelola berbagai objek serta nilai. Memori yang sudah tidak dibutuhkan harus dilepaskan dengan benar agar tidak digunakan kembali secara keliru.

Bagian ini biasanya tidak terlihat oleh pemilik website. Kita cukup melihat halaman yang terbuka di browser, sementara pengelolaan memori berlangsung di belakang layar.

2. Terjadi kesalahan pengelolaan memori

Menurut analisis keamanan yang dipublikasikan, kedua kerentanan PHP2Shell berkaitan dengan masalah use-after-free. Istilah ini digunakan ketika program masih menggunakan atau merujuk ke memori yang sebenarnya sudah dilepaskan.

Bayangkan sebuah kantor memiliki lemari penyimpanan dengan nomor laci tertentu. Dokumen lama sudah dikeluarkan dan lacinya diberikan kepada orang lain. Namun, seorang petugas masih menggunakan catatan lama yang menunjuk ke laci tersebut.

Petugas itu akhirnya bisa membaca atau memproses sesuatu yang bukan lagi milik dokumen sebelumnya. Dalam program komputer, kesalahan seperti ini dapat menyebabkan data rusak, kebocoran informasi, crash, atau dalam kondisi tertentu membuka peluang bagi penyerang untuk mengendalikan alur eksekusi program.

Dalam PHP2Shell, persoalannya bukan sekadar satu data yang salah dibaca. Kesalahan pengelolaan memori pada proses tertentu dapat dimanfaatkan untuk mencapai dampak keamanan yang jauh lebih serius.

3. Kesalahan dapat dipicu melalui permintaan yang dibuat khusus

Server PHP yang menerima permintaan dari internet harus mampu menghadapi data yang tidak selalu sesuai dengan harapan pengembang. Penyerang dapat membuat permintaan HTTP dengan susunan data tertentu untuk memicu jalur pemrosesan yang bermasalah.

Pada PHP2Shell, peneliti keamanan melaporkan bahwa permintaan yang dirancang secara khusus dapat memicu kerentanan pada tahap pemrosesan PHP. Pada konfigurasi tertentu, proses tersebut bahkan dapat terjadi sebelum kode aplikasi seperti pemeriksaan login dijalankan.

Artinya, mengandalkan halaman login saja tidak cukup untuk menutup kerentanan yang berada pada mesin PHP.

4. Ini bukan sekadar masalah plugin yang buruk

Hal yang perlu digarisbawahi adalah lokasi masalahnya. PHP2Shell berada pada PHP runtime, yaitu perangkat lunak yang menjalankan kode PHP di server.

WordPress, Joomla, Drupal, Laravel, dan CodeIgniter merupakan contoh aplikasi atau platform yang dapat menggunakan PHP. Mereka tidak otomatis menjadi penyebab kerentanan tersebut.

Namun, website yang berjalan menggunakan versi PHP rentan dapat terpapar risiko, meskipun kode tema dan pluginnya tidak memiliki masalah yang diketahui.

Itulah alasan memperbarui plugin saja tidak menyelesaikan akar masalah PHP2Shell. Mesin PHP yang menjalankan website juga harus diperiksa dan diperbarui ke versi yang sudah mendapatkan perbaikan.

Apa Perbedaan RCE dan Use-After-Free?

Kedua istilah ini sering muncul dalam berita keamanan siber, tetapi sebenarnya menjelaskan hal yang berbeda.

Istilah Penjelasan sederhana
Use-after-free Kesalahan program yang masih menggunakan referensi ke memori yang sudah dilepaskan.
RCE Dampak keamanan ketika penyerang berhasil membuat sistem menjalankan kode dari jarak jauh.
CVE Nomor identifikasi publik untuk kerentanan keamanan tertentu.
Patch Pembaruan perangkat lunak yang memperbaiki kesalahan atau menutup celah keamanan.

Jadi, use-after-free menjelaskan jenis kesalahan yang terjadi di dalam program, sedangkan RCE menjelaskan salah satu dampak yang dapat dicapai penyerang jika kesalahan tersebut berhasil dieksploitasi.

Apa Dampak PHP2Shell terhadap Website?

Dampaknya bergantung pada keberhasilan serangan, konfigurasi server, dan hak akses proses yang terkena. Berikut beberapa risiko yang perlu dipahami pemilik website.

1. Penyerang dapat menjalankan perintah pada server

RCE memungkinkan penyerang berpotensi menjalankan kode atau perintah melalui proses yang rentan. Jika berhasil, penyerang dapat mencoba melakukan aktivitas lain sesuai hak akses yang dimiliki proses tersebut.

Misalnya, jika proses PHP memiliki izin menulis ke direktori website, penyerang mungkin dapat mengubah file pada direktori tersebut. Namun, bukan berarti semua serangan otomatis memberikan akses administrator penuh ke server.

2. Data sensitif berpotensi terpapar

Website sering berhubungan dengan database, informasi pelanggan, token akses, dan konfigurasi aplikasi. Dalam kondisi tertentu, eksploitasi kerentanan memori juga dapat membuka peluang kebocoran data.

Risikonya akan semakin serius jika server menyimpan informasi penting tanpa pemisahan hak akses yang memadai.

3. Website dapat disusupi atau diubah

Jika penyerang berhasil mendapatkan kemampuan menjalankan kode dan memiliki izin yang diperlukan, ia dapat mencoba menyisipkan kode berbahaya, mengubah file aplikasi, atau membuat mekanisme akses tersembunyi.

Akibatnya, website bisa menampilkan konten asing, mengarahkan pengunjung ke halaman berbahaya, atau digunakan untuk aktivitas lain tanpa sepengetahuan pemiliknya.

4. Layanan bisa terganggu

Eksploitasi kerentanan dapat menyebabkan proses PHP mengalami masalah, penggunaan sumber daya meningkat, atau layanan berhenti bekerja dengan normal. Hal ini dapat membuat website lambat, menampilkan error, atau tidak dapat diakses.

Meski demikian, website yang menampilkan error belum tentu sedang diretas. Gangguan juga bisa disebabkan masalah hosting, database, atau kesalahan aplikasi lainnya. Oleh karena itu kita juga harus tahu cara memilih hosting yang tepat dan dapat diandalkan.

Apakah Semua Website WordPress dan Hosting Berbahaya?

Tidak. Website yang menggunakan PHP bukan berarti otomatis sudah disusupi.

Namun, website yang menjalankan versi PHP terdampak dan belum mendapatkan perbaikan dapat memiliki risiko keamanan, khususnya jika dapat diakses langsung dari internet.

WordPress menjadi salah satu contoh yang mudah dipahami karena banyak digunakan untuk website perusahaan, blog, toko online, dan portal informasi. Akan tetapi, risiko PHP2Shell tidak terbatas pada WordPress. Aplikasi berbasis PHP lainnya juga perlu diperiksa.

Hal yang sama berlaku untuk pengguna shared hosting. Walaupun pemilik website tidak mengelola server secara langsung, website mereka tetap menggunakan perangkat lunak PHP yang disediakan oleh penyedia hosting.

Karena itu, pemilik website sebaiknya tidak langsung panik, tetapi juga jangan menganggap persoalan ini tidak penting hanya karena tidak menggunakan VPS sendiri.

Versi PHP yang Perlu Diperhatikan

PHP telah merilis pembaruan keamanan untuk sejumlah cabang versi yang masih didukung. Berdasarkan advisori keamanan yang dipublikasikan pada Oktober 2026, versi perbaikan yang perlu dijadikan acuan adalah sebagai berikut.

Cabang PHP Versi perbaikan
PHP 8.2 8.2.35
PHP 8.3 8.3.36
PHP 8.4 8.4.27
PHP 8.5 8.5.12

Versi PHP 8.1 dan yang lebih lama juga perlu diperiksa. Cabang versi tersebut sudah tidak mendapatkan pembaruan reguler dari proyek PHP, meskipun beberapa vendor masih dapat menyediakan patch keamanan tersendiri.

Jangan hanya berpatokan pada angka versi terbaru. Pastikan versi yang digunakan memang telah diperbaiki untuk kerentanan ini dan masih sesuai dengan dukungan keamanan dari vendor.

Untuk memastikan informasi terbaru, baca advisori keamanan resmi PHP sebelum melakukan perubahan pada server produksi.

Cara Mengatasi PHP2Shell pada Website

Langkah penanganannya berbeda tergantung apakah kamu hanya mengelola website atau memiliki akses langsung ke server. Berikut urutan yang bisa digunakan sebagai panduan.

1. Periksa versi PHP yang digunakan website

Jika menggunakan WordPress, kamu bisa membuka menu Tools atau Peralatan > Site Health > Info, kemudian mencari informasi bagian Server. Nama menu dapat berbeda menurut versi dan bahasa WordPress.

Jika menggunakan cPanel, periksa menu Select PHP Version atau MultiPHP Manager, sesuai konfigurasi hosting.

Jika menggunakan VPS, administrator dapat memeriksa versi PHP melalui terminal. Contohnya:

php -v

Perlu diperhatikan bahwa perintah tersebut menunjukkan versi PHP CLI. Versi yang dipakai website melalui PHP-FPM, Apache, atau layanan lain bisa berbeda. Karena itu, pemeriksaan harus mencakup PHP yang benar-benar melayani permintaan website.

2. Perbarui PHP ke versi yang sudah diperbaiki

Ini merupakan langkah utama. Jika kamu menggunakan shared hosting, hubungi penyedia hosting dan minta konfirmasi bahwa versi PHP yang melayani website sudah mendapatkan patch PHP2Shell.

Jika mengelola VPS sendiri, perbarui paket PHP dari repositori atau vendor yang tepercaya. Pastikan paket yang dipilih memang berisi perbaikan keamanan.

Sebelum melakukan perubahan besar, siapkan cadangan website dan database. Periksa juga kompatibilitas aplikasi, ekstensi PHP, dan dependensi. Setelah pembaruan, restart atau muat ulang layanan yang relevan agar proses PHP benar-benar menggunakan versi yang sudah diperbaiki.

Jangan menganggap mengganti pilihan versi PHP pada panel hosting selalu berarti seluruh komponen PHP pada server telah diperbarui. Pada sebagian konfigurasi, administrator masih perlu memperbarui paket runtime yang sebenarnya.

3. Periksa file dan aktivitas yang mencurigakan

Jika website menjalankan versi rentan ketika serangan sudah mulai beredar, pemeriksaan keamanan tambahan layak dilakukan.

Administrator dapat meninjau:

  • Log akses web server dan log error PHP.
  • Proses baru yang berjalan di bawah akun PHP atau web server.
  • Perubahan file website yang tidak dikenal.
  • Akun pengguna atau administrator baru yang tidak sah.
  • Koneksi keluar dari server yang tidak biasa.
  • Lonjakan penggunaan CPU, memori, atau error yang tidak dapat dijelaskan.

Log yang mencurigakan perlu dianalisis bersama waktu kejadian, konfigurasi server, dan indikator kompromi lainnya. Tidak semua permintaan aneh merupakan serangan yang berhasil, dan tidak semua kompromi menghasilkan error yang terlihat.

Jika ditemukan indikasi kuat bahwa server telah disusupi, jangan berhenti pada pembaruan PHP. Isolasi sistem jika diperlukan, simpan bukti log, periksa cakupan akses penyerang, lalu lakukan pemulihan dari sumber yang dipercaya. Kredensial dan token yang mungkin terpapar perlu diganti dari perangkat yang bersih.

4. Gunakan WAF sebagai lapisan perlindungan tambahan

Web Application Firewall atau WAF membantu menyaring permintaan HTTP sebelum mencapai aplikasi atau server. Layanan seperti Cloudflare telah mengumumkan perlindungan untuk PHP2Shell melalui aturan WAF mereka.

WAF bisa membantu mengurangi risiko ketika patch belum dapat diterapkan seketika. Namun, perlindungan ini tidak menggantikan pembaruan PHP. Aturan WAF juga bisa memiliki keterbatasan, sehingga administrator tetap perlu memeriksa apakah perlindungan aktif dan sesuai dengan konfigurasi yang digunakan.

5. Jangan mengandalkan satu pengaturan sebagai solusi

Dalam pembahasan keamanan, terkadang beredar saran untuk menonaktifkan fitur PHP tertentu atau membatasi jenis permintaan. Langkah semacam itu mungkin mengurangi sebagian permukaan serangan, tetapi tidak selalu menutup kerentanan yang mendasarinya.

Untuk PHP2Shell, peneliti keamanan Datadog secara khusus mengingatkan bahwa menonaktifkan pengaturan session.upload_progress.enabled bukan pengganti patch yang benar.

Jadi, jangan merasa website sudah aman hanya karena satu pengaturan diubah atau sebuah plugin keamanan menampilkan status hijau. Prioritaskan pembaruan PHP yang telah diperbaiki.

Bagaimana Jika Menggunakan Shared Hosting?

Ini pertanyaan penting karena tidak semua pemilik website memiliki akses administrator server.

Jika kamu menggunakan shared hosting, sebagian besar pengelolaan sistem operasi dan instalasi PHP menjadi tanggung jawab penyedia hosting. Kamu biasanya hanya memilih versi PHP yang tersedia untuk akun atau website.

Langkah yang dapat dilakukan adalah menghubungi tim dukungan hosting dan menanyakan tiga hal berikut:

  1. Apakah PHP yang melayani website sudah mendapatkan patch untuk CVE-2026-109618 dan CVE-2026-109619?
  2. Apakah versi PHP yang dipilih pada akun hosting sudah menggunakan paket yang diperbaiki?
  3. Jika server belum dapat diperbarui, mitigasi sementara apa yang tersedia dan kapan pembaruan akan diterapkan?

Jangan hanya bertanya apakah hosting menggunakan PHP versi 8.2 atau 8.3. Nomor cabang saja tidak cukup untuk memastikan keamanan. Nomor versi lengkap dan status patch jauh lebih penting.

Apakah Menggunakan Cloudflare Sudah Cukup Aman?

Cloudflare dapat membantu menyaring lalu lintas berbahaya sebelum permintaan mencapai server. Namun, fungsi tersebut berbeda dari memperbaiki kesalahan pada perangkat lunak PHP.

Anggap saja WAF sebagai petugas keamanan di pintu masuk gedung, sedangkan patch adalah perbaikan pada sistem di dalam gedung. Petugas keamanan bisa mencegah banyak upaya masuk yang mencurigakan, tetapi memperbaiki sistem tetap diperlukan jika ada kelemahan di dalamnya.

Karena itu, pengguna Cloudflare sebaiknya memastikan WAF aktif dan tetap memperbarui PHP. Pengguna yang tidak memakai Cloudflare pun tetap bisa mengamankan server dengan menerapkan patch dan kontrol keamanan yang sesuai.

Tips Mencegah Masalah Keamanan Serupa

PHP2Shell menjadi pengingat bahwa keamanan website tidak cukup dilakukan sekali saat website pertama kali dibuat. Pemeliharaan perlu menjadi rutinitas, termasuk untuk website yang terlihat normal dan jarang mengalami masalah.

  • Perbarui PHP dan dependensi. Gunakan versi yang masih didukung serta pantau advisori keamanan resmi.
  • Perbarui CMS dan plugin. Walaupun bukan solusi langsung PHP2Shell, pembaruan tetap penting untuk menutup kerentanan lainnya.
  • Batasi hak akses. Proses PHP sebaiknya tidak memiliki izin yang tidak diperlukan, terutama akses administratif.
  • Jadwalkan backup. Simpan salinan file dan database di lokasi terpisah, serta uji proses pemulihannya.
  • Amankan kredensial. Gunakan password kuat, autentikasi multifaktor jika tersedia, dan rotasi token jika ada indikasi kebocoran.
  • Pantau log. Pemeriksaan berkala membantu mendeteksi aktivitas yang tidak biasa lebih awal.
  • Uji pemulihan. Backup yang tidak pernah diuji belum tentu dapat digunakan ketika terjadi insiden.

Jika website merupakan bagian dari bisnis, tentukan pula siapa yang bertanggung jawab memantau pembaruan, menangani insiden, dan menghubungi penyedia hosting. Pembagian tanggung jawab yang jelas dapat mengurangi keterlambatan penanganan.

Kesimpulan

PHP2Shell menunjukkan bahwa sebuah website bisa menghadapi risiko keamanan bukan hanya karena plugin atau password yang lemah, tetapi juga karena kesalahan pada perangkat lunak yang menjalankan aplikasinya.

Dua kerentanan ini berkaitan dengan pengelolaan memori pada PHP dan dapat membuka peluang eksekusi kode jarak jauh dalam kondisi yang terdampak. Karena PHP digunakan oleh banyak aplikasi, pemilik website WordPress, Joomla, Drupal, Laravel, CodeIgniter, serta pengelola server perlu memeriksa versi runtime yang digunakan.

Menurut AndriBerbudi, langkah paling masuk akal bukan langsung panik atau menganggap website pasti diretas. Mulailah dengan memastikan versi PHP, menghubungi penyedia hosting jika diperlukan, memasang pembaruan keamanan, dan memeriksa log apabila server sebelumnya menjalankan versi rentan.

Keamanan website bukan hanya soal memasang plugin keamanan atau menggunakan layanan CDN. Yang tidak kalah penting adalah memastikan perangkat lunak di belakang website terus mendapatkan pembaruan yang benar.

Jika kamu mengelola website sendiri, jangan menunggu sampai halaman berubah, data hilang, atau pengunjung melaporkan masalah. Pemeriksaan rutin dan respons yang cepat sering kali menjadi pembeda antara gangguan kecil dan insiden keamanan yang lebih serius.

FAQ Seputar PHP2Shell

1. Apa itu PHP2Shell?

PHP2Shell adalah sebutan untuk dua kerentanan kritis PHP, yaitu CVE-2026-109618 dan CVE-2026-109619, yang dapat memungkinkan eksekusi kode jarak jauh pada sistem yang rentan.

2. Apakah PHP2Shell menyerang WordPress?

Risikonya tidak terbatas pada WordPress. Masalah ini berada pada mesin PHP, sehingga berbagai aplikasi berbasis PHP perlu diperiksa berdasarkan versi runtime dan konfigurasi servernya.

3. Apakah website saya pasti diretas jika menggunakan PHP versi lama?

Tidak. Menggunakan versi rentan berarti ada risiko yang perlu ditangani, bukan bukti bahwa serangan telah berhasil. Perbarui PHP dan lakukan pemeriksaan keamanan jika server berpotensi terpapar.

4. Apakah memperbarui plugin WordPress dapat mengatasi PHP2Shell?

Tidak secara langsung. Pembaruan plugin tetap penting, tetapi akar masalah PHP2Shell berada pada PHP runtime. PHP yang menjalankan website harus mendapatkan perbaikan keamanan yang sesuai.

5. Bagaimana cara mengetahui apakah PHP sudah aman?

Periksa versi PHP lengkap yang melayani permintaan website dan cocokkan dengan advisori resmi PHP atau vendor server. Pastikan pembaruan benar-benar diterapkan pada layanan yang aktif.

6. Apakah Cloudflare bisa mencegah PHP2Shell?

Aturan WAF Cloudflare dapat membantu memblokir lalu lintas berbahaya. Namun, WAF hanya lapisan perlindungan tambahan dan tidak menggantikan patch PHP.

7. Apa yang harus dilakukan jika menggunakan shared hosting?

Hubungi penyedia hosting untuk meminta konfirmasi bahwa PHP yang digunakan telah mendapatkan patch PHP2Shell. Jika belum, minta informasi mitigasi sementara dan jadwal pembaruan.

8. Apakah menonaktifkan session upload progress sudah cukup?

Tidak. Peneliti keamanan telah mengingatkan bahwa menonaktifkan pengaturan tersebut bukan pengganti pembaruan PHP. Gunakan versi yang telah diperbaiki sesuai advisori keamanan.

Sumber Referensi

Artikel ini ditulis ulang dengan bahasa yang lebih mudah dipahami berdasarkan informasi dari sumber keamanan siber berikut. Pembaca dapat membuka sumber asli untuk memeriksa detail teknis dan perkembangan terbaru.

Catatan pembaruan: Artikel disusun berdasarkan informasi yang tersedia pada 22 Oktober 2026. Periksa kembali advisori resmi PHP untuk memastikan status perbaikan dan rekomendasi terbaru.