
PHP2Shell adalah julukan untuk dua celah keamanan kritis di PHP, yaitu CVE-2026-109618 dan CVE-2026-109619, yang diumumkan bersamaan dengan rilis pembaruan darurat PHP pada 21 Oktober 2026. Keduanya mendapat skor CVSS v4.0 9,2 dan memungkinkan remote code execution (RCE) tanpa autentikasi: penyerang berpotensi menjalankan perintah di server tanpa perlu login sama sekali.
Karena PHP menjalankan sebagian besar website di dunia, termasuk WordPress, Laravel, dan aplikasi sekolah atau toko online berbasis PHP, kabar ini langsung menjadi prioritas tim IT di banyak negara. Badan keamanan siber Amerika Serikat, CISA, menerbitkan peringatan agar organisasi segera menambal sistemnya. Artikel ini merangkum apa itu PHP2Shell, siapa yang terdampak, versi PHP yang sudah aman, dan langkah praktis untuk memeriksa serta mengamankan server Anda, berdasarkan sumber resmi per 26 Oktober 2026.
Apa Itu PHP2Shell dan Mengapa Disebut Kritis?
PHP2Shell bukan satu bug, melainkan dua celah di inti PHP yang sama-sama berkaitan dengan cara PHP menangani kesalahan di tengah sebuah permintaan (request). Menurut advisory resmi PHP:
- CVE-2026-109618 (korupsi saat kehabisan memori). Ketika penanganan out-of-memory terputus di tengah jalan, sebagian data request bisa tertinggal dalam keadaan setengah terinisialisasi, lalu kode pembersihan memperlakukannya seolah data yang valid. Detail teknisnya ada di advisory GHSA-w8hw-w9fx-j79w.
- CVE-2026-109619 (status global yang basi). Status sebuah request bisa bertahan lebih lama daripada memori yang sudah dibebaskan, lalu dipakai ulang oleh request berikutnya di worker yang sama. Lihat advisory GHSA-6wmf-4rv5-p3rp.
Dua kombinasi ini berbahaya karena dapat dipicu dari luar melalui request web biasa. Jika berhasil dieksploitasi, penyerang bisa menjalankan kode dengan hak akses proses PHP: membaca file konfigurasi berisi kata sandi database, menanam webshell, atau menjadikan server batu loncatan serangan lain. Itulah alasan skornya 9,2 dari 10.
Siapa yang Terdampak Kerentanan PHP2Shell?
Menurut PHP dan CISA, yang terdampak adalah semua instalasi PHP yang melayani request web dan belum diperbarui, apa pun cara PHP dijalankan:
- Apache dengan mod_php (dinilai PHP sebagai risiko tertinggi)
- PHP-FPM (umum di Nginx dan banyak hosting modern)
- php-cgi
- FrankenPHP
- LiteSpeed (LSAPI), yang banyak dipakai di shared hosting
Artinya, hampir semua website PHP di hosting bersama, VPS, maupun server kantor perlu dicek. Unit 42 dari Palo Alto Networks melaporkan lebih dari 22,6 juta instans PHP yang terekspos ke internet dan berpotensi rentan berdasarkan telemetri mereka. Angka itu menunjukkan betapa luasnya permukaan serangannya.
Versi PHP yang Sudah Aman
PHP merilis versi perbaikan untuk setiap cabang yang masih didukung pada 21 Oktober 2026. Gunakan tabel berikut untuk mencocokkan versi server Anda:
| Cabang PHP | Versi aman (minimal) | Catatan |
|---|---|---|
| 8.5 | 8.5.12 | Didukung penuh |
| 8.4 | 8.4.27 | Didukung penuh |
| 8.3 | 8.3.36 | Pembaruan keamanan |
| 8.2 | 8.2.35 | Masa dukungan berakhir 31 Desember 2026 |
| 8.1 ke bawah | Tidak ada rilis resmi | Sudah EOL: perlu backport dari vendor atau upgrade ke 8.3/8.4 |
Untuk PHP 7.4, 8.0, dan 8.1, proyek PHP hanya menyediakan backport minimal di level kode sumber. Biasanya penyedia sistem operasi atau panel hosting yang mengemasnya. Jika server Anda masih memakai versi ini dan belum ada paket tambalan dari vendor, upgrade ke cabang yang didukung adalah jalan paling aman.
Kronologi Singkat PHP2Shell
- 20 Oktober 2026: PHP mengumumkan akan ada rilis keamanan kritis pada 21 Oktober pukul 14.00 UTC. Beberapa laporan keamanan menyebut detail celah sempat beredar sebelum jadwal, sehingga rilis dipercepat.
- 21 Oktober 2026: PHP 8.5.12, 8.4.27, 8.3.36, dan 8.2.35 dirilis bersama advisory keamanan untuk CVE-2026-109618 dan CVE-2026-109619. CISA menerbitkan peringatan agar sistem segera ditambal.
- 23 Oktober 2026: PHP menerbitkan advisory informasional yang menyarankan
session.upload_progress.enabled=0sebagai langkah pencegahan, dengan detail celah terkait (CVE-2026-115560) menyusul di rilis berikutnya. CISA memperbarui peringatannya dengan aturan deteksi SIGMA. - 25 Oktober 2026: Unit 42 menarik kembali pembaruan sebelumnya yang mengaitkan sebuah insiden dengan PHP2Shell, karena belum dapat dipastikan.
- 26 Oktober 2026: build PHP untuk Windows diperbarui untuk perbaikan pustaka Brotli (CVE-2026-111497).
Rangkuman lengkap pengumuman resmi tersedia di arsip berita php.net.
Apakah PHP2Shell Sudah Dieksploitasi?
Per pembaruan 23 Oktober 2026, CISA menyatakan belum mengamati eksploitasi yang berhasil di dunia nyata. Laporan dari pihak lain berbeda-beda: ada yang menyebut aktivitas serangan awal, ada pula yang kemudian meralat temuannya. Dua hal yang perlu diingat:
- Belum terlihat bukan berarti aman. Begitu detail teknis dan patch tersedia, penyerang biasanya cepat membandingkan kode lama dan baru untuk membuat exploit.
- Celah tanpa autentikasi selalu mendesak. Penyerang tidak perlu akun atau kata sandi, cukup akses ke website Anda dari internet.
Karena itu, perlakukan PHP2Shell sebagai pekerjaan hari ini, bukan minggu depan.
Cara Mengecek Apakah Server Anda Rentan PHP2Shell
Langkah pertama adalah inventarisasi: catat semua website dan aplikasi PHP yang Anda kelola, termasuk subdomain, panel admin lama, dan aplikasi internal yang jarang dibuka. CISA mengingatkan bahwa PHP sering tertanam di dalam perangkat lunak lain sehingga mudah terlewat.
1. Cek versi PHP
- Lewat SSH: jalankan
php -v. Perlu diingat, versi PHP untuk command line bisa berbeda dengan versi yang melayani website. - Di cPanel: buka MultiPHP Manager untuk melihat versi PHP setiap domain.
- Di WordPress: buka Tools → Site Health → Info → Server untuk melihat versi PHP yang dipakai situs.
- Di hosting terkelola: tanyakan ke penyedia hosting apakah paket PHP sudah diperbarui ke versi aman di tabel di atas.
Hindari memasang file phpinfo() yang bisa diakses publik untuk mengecek versi. File seperti itu justru membocorkan informasi berharga ke penyerang.
2. Cek semua versi yang terpasang
Server cPanel atau VPS sering punya beberapa versi PHP sekaligus (misalnya 7.4, 8.1, dan 8.3) untuk situs yang berbeda. Pastikan setiap versi yang dipakai sebuah domain sudah aman, bukan hanya versi default-nya.
Langkah Patch dan Mitigasi PHP2Shell
Patch: solusi utama
Perbarui PHP ke versi aman sesuai cabangnya: 8.5.12, 8.4.27, 8.3.36, atau 8.2.35. Di server cPanel, paket EasyApache untuk PHP biasanya diperbarui lewat pembaruan sistem. Di VPS, gunakan manajer paket sistem operasi atau image container terbaru. Setelah pembaruan, restart semua worker PHP (PHP-FPM, LiteSpeed, atau Apache) agar versi baru benar-benar dipakai. Mulailah dari sistem yang terhubung langsung ke internet.
Mitigasi sementara bila belum bisa patch
Advisory PHP mencantumkan beberapa langkah yang mengurangi risiko tetapi tidak membuat sistem sepenuhnya aman:
- Matikan upload progress session dengan
session.upload_progress.enabled=0diphp.ini, pool PHP-FPM, atau konfigurasi server, lalu restart worker. Jangan mengandalkanini_set()atau.user.ini. - Batasi ukuran request:
post_max_size8M (atau 32M bila butuh unggahan),upload_max_filesizedi bawahnya, dan terapkan batas request di web server atau proxy. - Gunakan batas memori di level container atau cgroup sesuai panduan advisory.
- Di PHP 8.5, setel
fatal_error_backtraces=0lalu restart worker. - Web Application Firewall (WAF) dapat memberi perlindungan parsial selama proses patch.
Untuk PHP 8.1 ke bawah yang tidak bisa segera ditambal, CISA bahkan menyarankan sistem tersebut dimatikan sementara sampai ditambal atau di-upgrade. Ini peringatan serius bagi website lama yang belum pernah diperbarui bertahun-tahun.
Tanda-Tanda Server Sudah Disusupi
Setelah patch, periksa juga apakah ada indikasi server sempat disusupi sebelum ditambal. CISA menyarankan memantau aktivitas mencurigakan, seperti proses worker PHP yang menjalankan shell atau mengunduh tools. Dalam praktik sehari-hari, perhatikan juga:
- File PHP baru atau asing di folder
uploads, cache, atau folder tema/plugin - Akun administrator yang tidak Anda kenal di WordPress atau panel aplikasi
- Cron job baru yang mengunduh skrip dari luar
- Lonjakan trafik keluar atau beban CPU tanpa sebab yang jelas
- Halaman yang tiba-tiba mengarah ke situs judi atau spam di hasil pencarian Google
Jika menemukan tanda-tanda ini, isolasi server, cadangkan bukti, ganti semua kata sandi dan kunci API, lalu bersihkan atau pulihkan dari backup yang bersih. Contoh nyata dampak peretasan bisa Anda pelajari di artikel daftar kasus hacking di Indonesia.
Pelajaran PHP2Shell untuk Pemilik Website Bisnis
PHP2Shell menunjukkan bahwa keamanan website bukan pekerjaan sekali jadi. Celah bisa muncul di komponen paling dasar, bukan hanya di plugin atau tema. Beberapa kebiasaan yang membuat respons terhadap kasus seperti ini jauh lebih cepat:
- Punya daftar aset yang jelas: website, subdomain, versi PHP, CMS, dan plugin yang dipakai.
- Jadwal pembaruan rutin: sistem yang rajin diperbarui biasanya hanya butuh satu langkah ketika patch darurat keluar. Baca juga pentingnya maintenance website rutin.
- Hosting yang responsif: penyedia hosting yang baik memperbarui PHP dalam hitungan jam setelah rilis keamanan. Pertimbangkan ini saat memilih hosting website.
- Backup teruji dan pemantauan: backup yang rutin diuji serta pemantauan file mempercepat pemulihan jika terjadi insiden. Pelajari dasar-dasarnya di artikel cyber security.
Kesimpulan
PHP2Shell (CVE-2026-109618 dan CVE-2026-109619) adalah celah RCE kritis tanpa autentikasi yang memengaruhi hampir semua website PHP yang belum diperbarui. Solusi utamanya jelas: perbarui ke PHP 8.5.12, 8.4.27, 8.3.36, atau 8.2.35, restart worker PHP, dan upgrade sistem yang masih memakai PHP 8.1 ke bawah. Sambil menunggu patch, matikan session.upload_progress dan terapkan batas request sesuai advisory resmi, lalu periksa tanda-tanda penyusupan.
Jika Anda tidak yakin versi PHP website Anda atau ingin servernya diperiksa dan diperbarui dengan aman, tim Edutech Indonesia bisa membantu lewat layanan hosting & maintenance website. Konsultasi awalnya gratis.


