
Kalau lo jalanin server PHP, ini saatnya lo buka dashboard dan update sekarang. Tanggal 21 Oktober 2026, PHP merilis patch darurat untuk dua vulnerability critical bernama PHP2Shell dua bug di core PHP yang bisa bikin attacker njalanin kode apapun di server lo tanpa perlu login sekalipun. Kedua bug ini dapet rating CVSS v4.0 9.2, yang artinya hampir sempurna dari sisi keparahan. Blog post ini bakal jelasin apa yang terjadi, siapa yang kena, dan gimana cara lo protect server lo. Plus, ada update dari Cloudflare: WAF mereka udah ngasih proteksi default buat PHP2Shell, jadi ada lapisan pertahanan tambahan selagi lo patch.
Apa Itu PHP2Shell?
PHP2Shell adalah nama yang diberikan Wiz Research untuk dua vulnerability critical yang ditemukan di core PHP engine itu sendiri bukan di aplikasi atau framework-nya. Artinya, nggak peduli lo pakai WordPress, Laravel, CodeIgniter, atau bahkan cuma file hello.php biasa, selama jalan di PHP versi yang vulnerable, lo tetap kena.
Yang bikin ini spesial (dan menakutkan) adalah skala dampaknya. PHP dipakai di lebih dari 70% website di internet. Dan bug ini bukan di plugin atau library pihak ketiga ini ada di mesin PHP itu sendiri, yang berarti hampir semua server PHP di dunia potensial terdampak.
Intinya: attacker bisa kirim request ke server lo dan langsung ambil alih server tanpa perlu kredensial apapun. Ini yang disebut unauthenticated Remote Code Execution (RCE).

Dua Bug di Balik PHP2Shell
CVE-2026-109618: RCE via OOM Corruption
Bug ini muncul dari cara PHP handle error ketika server kehabisan memory (out-of-memory). Ketika PHP kehabisan memory di tengah request, ia kadang ninggalin data internal yang belum selesai diinisialisasi. Request berikutnya yang dihandle worker PHP yang sama bisa “nyolong” state corrupt itu tadi dan dari situ attacker bisa inject kode.
Cara eksploitasinya: attacker kirim multipart request yang sangat besar sampai PHP worker kehabisan memory, lalu langsung kirim request baru sebelum worker di-reset. Boom RCE.
CVE-2026-109619: RCE via Stale Global State
Bug ini lebih halus. State internal PHP yang seharusnya “milik” satu request bisa survive setelah request itu selesai dan memorinya dibebaskan. Request berikutnya (dari attacker) bisa manfaatin state basi itu sebelum PHP sempat reinisialisasi dengan benar.
Dua jalur konfirmasi eksploitasinya:
- Lewat session upload progress (fitur yang tracking progress upload file)
- Lewat fatal error backtrace (khusus PHP 8.5)
Keduanya punya rating CVSS v4.0 sebesar 9.2 (Critical) dan sudah ada proof-of-concept exploit yang bisa didemonstrasikan.
Menurut Cloudflare, dampaknya nggak berhenti di RCE. Attacker yang berhasil manipulasi memory yang invalid ini juga bisa bikin proses PHP crash (denial of service) atau bikin data sensitif bocor. Karena bug-nya ada di PHP runtime, update plugin atau kode website aja nggak cukup yang harus di-update adalah PHP-nya.
Siapa yang Terdampak?
Singkatnya: hampir semua orang yang pakai PHP.
Vulnerability ini ada di semua versi PHP dalam 10 tahun terakhir dari PHP 5.4 sampai PHP 8.5. Yang lebih mengkhawatirkan, bug ini muncul sebelum application code lo jalan. Jadi nggak ada firewall di level aplikasi yang bisa nyegahnya.
Semua deployment method kena:
- mod_php (Apache) dianggap paling berisiko karena exploit bisa jalan sebelum apapun di aplikasi lo dieksekusi
- PHP-FPM kena juga
- php-cgi kena
- FrankenPHP kena
- LiteSpeed kena
Aplikasi yang confirmed vulnerable termasuk WordPress, Drupal, dan Joomla tapi sekali lagi, ini bukan salah mereka. Bug-nya ada di PHP-nya.
Cara Cek Apakah Server Lo Sudah Patched
Patch untuk PHP2Shell sudah masuk di versi-versi berikut yang dirilis 21 Oktober 2026:
| Versi PHP | Minimal Aman | Status |
| PHP 8.5 | 8.5.12 | Patched |
| PHP 8.4 | 8.4.27 | Patched |
| PHP 8.3 | 8.3.36 | Patched |
| PHP 8.2 | 8.2.35 | Patched |
Cara cek versi PHP lo sekarang lewat terminal:
php -vKalau pakai aaPanel, bisa cek langsung di App Store > PHP dan lihat versi yang terinstall di sana. Kalau nomornya lebih rendah dari daftar di atas, server lo belum patched.
Cara Update dan Solusi Sementara
Update PHP (Solusi Terbaik)
Ini satu-satunya solusi yang benar-benar complete. Kalau pakai aaPanel, caranya:
- Masuk ke aaPanel dashboard
- Pergi ke App Store > PHP
- Pilih versi PHP yang lo pakai, klik Upgrade kalau tersedia
Atau via SSH:
# Ubuntu/Debian
apt update && apt upgrade php8.5
# CentOS/AlmaLinux
yum update php85
Setelah update, restart PHP-FPM:
systemctl restart php8.5-fpmWorkaround Sementara (Kalau Belum Bisa Update)
Kalau aaPanel belum provide update atau ada constraint lain, ini bisa ngurangi exposure, tapi bukan solusi permanent.
Untuk CVE-2026-109618 (OOM Corruption):
Tambahkan di php.ini atau config FPM pool:
memory_limit = -1
post_max_size = 8M
upload_max_filesize = 7MUntuk CVE-2026-109619 (Stale Global State):
session.upload_progress.enabled = 0
fatal_error_backtraces = 0 ; khusus PHP 8.5Restart PHP-FPM setelah apply perubahan. Ingat: workaround ini hanya blokir jalur eksploitasi yang sudah dikonfirmasi, bukan semua kemungkinan attack vector.
Proteksi Tambahan dari Cloudflare WAF

Buat lo yang pakai Cloudflare, ada kabar bagus. Cloudflare ikut dalam koordinasi disclosure bareng PHP Foundation, OpenAI, dan Wiz. Mereka mulai ngembangin dan deploy rule WAF sejak awal Oktober 2026, sekitar 9 jam sebelum disclosure publik. Sejak 21 Oktober 2026 jam 03:02 UTC, semua customer yang pakai WAF termasuk plan Free terlindungi by default dari PHP2Shell.
Vulnerability ini ternyata sempat bocor sebelum tanggal rilis resmi, dan Cloudflare udah ngelihat traffic serangan yang nargetin customer-nya. Attacker juga terpantau ngubah-ubah payload buat nyoba bypass rule, jadi tim analis Cloudflare terus update rule-nya kalau ada teknik atau variasi baru.
Full Transaction Detection: Cek Request dan Response
Rule yang cuma ngecek request sering nggak cukup buat bedain exploit dari traffic normal. Makanya Cloudflare bikin kapabilitas baru bernama full transaction detection, yang nganalisis request dan response dalam satu transaksi HTTP yang sama. Response dari origin ngasih konteks apakah exploit-nya beneran berhasil, jadi risiko false positive lebih kecil. Kalau ada response yang cocok dengan rule, Cloudflare bisa blok sebelum response itu nyampe ke requester. PHP2Shell jadi managed detection pertama yang pakai kapabilitas ini.
Rule yang Perlu Lo Cek
- Plan Free: rule baru ada di Cloudflare Managed Free Ruleset (7 rule “Generic Rules – Anomalous Execution”). Otomatis aktif, nggak perlu action apa-apa.
- Plan Pro, Business, Enterprise: rule ada di Cloudflare Managed Ruleset (juga 7 rule “Generic Rules – Anomalous Execution”). Pastikan deployment-nya udah di mode block.
- Semua plan: rule “Default block for High confidence Signatures” ada di Cloudflare Managed Response Firewall Default, yang pakai full transaction detection.
Buat lihat request yang kena blok, buka Security > Security Analytics > Events di dashboard Cloudflare, lalu filter pakai rule ID-nya (daftar lengkap rule ID ada di blog Cloudflare, lihat link di bawah). Kalau perlu, scope Managed Ruleset bisa lo atur ke bagian aplikasi yang relevan aja.
Tapi inget: WAF itu lapisan tambahan, bukan pengganti patch. Cloudflare sendiri nyaranin tetap update PHP secepatnya sambil WAF dibiarin aktif sebagai defense-in-depth. Bahkan membatasi upload yang nggak perlu dan ukuran upload bisa ngurangin exposure, tapi itu juga nggak menggantikan fix dari PHP. Kalau PHP lo dikelola hosting provider, minta provider buat apply security update-nya.
Kesimpulan
PHP2Shell adalah salah satu vulnerability paling serius yang pernah ada di dunia PHP. Bug-nya ada di level paling bawah core engine PHP itu sendiri dan bisa dieksploit oleh siapapun tanpa perlu akun atau kredensial apapun.
Kabar baiknya: patch sudah tersedia. Langkah yang harus lo ambil sekarang:
- Cek versi PHP lo sekarang (php -v)
- Update ke versi patched (8.5.12 / 8.4.27 / 8.3.36 / 8.2.35)
- Kalau belum bisa update, apply workaround sementara sambil tunggu update dari provider lo
- Kalau pakai Cloudflare, pastikan proteksi WAF aktif (Managed Ruleset di mode block) sebagai lapisan tambahan bukan pengganti patch
Jangan tunda-tunda. Bug dengan rating 9.2 dan proof-of-concept yang sudah beredar artinya exploit bisa aktif digunakan oleh attacker kapan saja.
Referensi: Wiz Research PHP2Shell | PHP Security Advisory 21 Oktober 2026 | Cloudflare Proteksi WAF untuk PHP2Shell


