EstontincTerbit 3 menit baca
Update keamanan PHP: tambal php2shell sebelum rilis bugfix berikutnya
Dua celah kritis PHP yang dikenal sebagai php2shell ditambal pada 21 Oktober 2026. Versi mana yang aman, cara mengecek server, dan satu pengaturan yang perlu tetap dimatikan.


Apakah website PHP-mu aman hari ini? Pada 21 Oktober 2026 tim PHP merilis update keamanan PHP: versi 8.5.12, 8.4.27, 8.3.36 dan 8.2.35 menutup dua celah kritis yang bisa memungkinkan eksekusi kode jarak jauh (RCE) tanpa login. Kalau website, toko online, atau sistem internalmu berjalan di PHP, segera update dan matikan satu pengaturan tambahan sampai rilis bugfix PHP berikutnya.
Artikel ini merangkum apa yang terjadi, versi mana yang aman, langkah yang perlu diambil minggu ini, dan cara memastikan servermu benar-benar sudah ditambal.
Apa yang terjadi: php2shell secara singkat
Dua celah ini dikenal dengan nama php2shell. Menurut Cloudflare, celah ini diungkap pada 21 Oktober 2026 oleh Calif.io, Wiz, OpenAI, dan Quarkslab. Di hari yang sama tim PHP menerbitkan security advisory dan sangat menganjurkan semua pengguna PHP untuk segera update.
- CVE-2026-109618 (GHSA-w8hw-w9fx-j79w), RCE lewat kerusakan saat OOM. Penanganan kehabisan memori (out of memory) bisa menghentikan PHP ketika data request internal baru terisi sebagian.
- CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp), RCE lewat state global yang basi. State internal milik sebuah request bisa tetap tersisa setelah memori yang menampungnya sudah dibebaskan.
Bahasa sederhananya: dalam kondisi tertentu, orang lain bisa menjalankan kodenya sendiri di servermu tanpa perlu login. Karena itu kedua celah ini dinilai kritis.
Versi PHP mana yang aman?


Kalau kamu memakai PHP 8.2 ke atas, cukup update biasa ke versi di tabel. Untuk cabang lama PHP 7.4, 8.0, dan 8.1, tim keamanan PHP menyediakan backport source minimal, bukan rilis baru. Ini membantu tim yang meng-compile PHP sendiri. Untuk kebanyakan bisnis, kami sarankan sekalian merencanakan pindah ke cabang yang lebih baru.
Advisory lanjutan pada 23 Oktober
Dua hari kemudian PHP menerbitkan informational advisory soal session upload progress. PHP menyarankan session.upload_progress.enabled=0 sampai rilis bugfix reguler berikutnya, supaya terlindungi penuh dari satu jalur RCE yang kecil kemungkinannya. Advisory lengkap untuk CVE-2026-115560 akan terbit bersama rilis itu.
Cloudflare mencatat celah ini juga mengenai rilis yang sudah ditambal penuh, termasuk 8.5.12. Jadi update saja belum selesai bulan ini: biarkan upload progress tetap mati sampai rilis PHP berikutnya keluar.


Langkah update keamanan PHP sebelum rilis bugfix berikutnya


- Cek versi PHP yang sebenarnya di setiap server. Paket distro seperti Debian, Ubuntu, RHEL, atau Alpine sering memasukkan perbaikan (backport) tanpa mengubah nomor versi upstream, jadi php -v saja tidak cukup. Cek changelog paketnya untuk CVE-2026-109618 dan CVE-2026-109619.
- Uji update di staging. Naikkan ke 8.5.12, 8.4.27, 8.3.36 atau 8.2.35, atau paket distro yang sudah ditambal, lalu coba alur checkout, login, dan formulir.
- Update production, termasuk semua server, container, dan worker yang menjalankan PHP.
- Set session.upload_progress.enabled=0 lalu restart semua worker, supaya tidak ada proses lama yang masih memakai pengaturan lama.
- Pantau rilis reguler PHP berikutnya, yang akan memperbaiki CVE-2026-115560, lalu pasang dengan cara yang sama.
Kalau belum bisa update hari ini
PHP mencantumkan mitigasi sementara, tapi menegaskan bahwa mitigasi hanya mengurangi risiko dan tidak membuat instalasi aman. Satu-satunya perbaikan lengkap adalah update.
- Untuk CVE-2026-109618: set memory_limit=-1 dengan cara yang tidak bisa ditimpa aplikasi, misalnya php_admin_value di pool FPM atau konfigurasi Apache.
- Untuk CVE-2026-109619: set session.upload_progress.enabled=0 lalu restart semua worker.
Apakah WAF sudah cukup?
Cloudflare menyebut WAF mereka, di paket gratis maupun berbayar, sudah melindungi secara default sejak 21 Oktober pukul 03.02 UTC. Tapi Cloudflare juga menegaskan pelanggan tetap harus menambal PHP, karena WAF hanya lapisan pertahanan tambahan, bukan pengganti update.
Artinya untuk bisnismu
Banyak website perusahaan, toko online, dan dashboard internal berjalan di PHP lewat WordPress, Laravel, atau kode custom. Framework-nya tidak mengubah jawaban: perbaikannya ada di runtime PHP di server. Kalau server diurus penyedia hosting, tanyakan paket PHP mana yang terpasang dan apakah sudah memuat kedua perbaikan CVE. Kalau timmu sendiri yang mengurus server, ini pekerjaan minggu ini.
Update keamanan jarang datang di waktu yang pas. Pola yang sama kami bahas untuk situs JavaScript di cara update Next.js dengan aman: tim yang paling cepat pulih adalah yang sudah punya staging, backup, dan rutinitas update yang teruji.
Bagaimana Estontinc membantu
Estontinc adalah software house di Malang dengan 100+ proyek dan 50+ klien selama lebih dari enam tahun. Untuk website dan sistem berbasis PHP, kami bisa:
- Mengaudit versi PHP di semua server, container, dan hosting, termasuk changelog paket distro.
- Menambal dengan pengujian, di staging dulu baru production, sebagai bagian dari jasa pembuatan website kami.
- Merawat sistem setelah rilis lewat layanan maintenance: bug fix dan update, monitoring dan backup, serta perbaikan kecil tiap bulan, dengan urusan server ditangani tim cloud dan DevOps kami.
Kami bekerja dengan NDA, source code tetap milikmu, dan komunikasi bisa dalam bahasa Indonesia, Inggris, atau Jepang. Mau setup PHP-mu dicek? Kirim detailnya lewat halaman kontak, kami balas dalam 24 jam.
Pertanyaan yang sering diajukan
Versi PHP mana yang sudah menambal php2shell?
PHP 8.5.12, 8.4.27, 8.3.36 dan 8.2.35 yang rilis 21 Oktober 2026 menambal CVE-2026-109618 dan CVE-2026-109619, dua celah kritis yang bisa memungkinkan eksekusi kode jarak jauh tanpa login. Untuk PHP 7.4, 8.0 dan 8.1, tim keamanan PHP menyediakan backport source minimal bagi yang meng-compile PHP sendiri.
Bagaimana cara tahu server PHP sudah ditambal?
Menjalankan php -v belum tentu cukup. Paket Debian, Ubuntu, RHEL, dan Alpine sering memasukkan perbaikan keamanan tanpa mengubah nomor versi upstream. Cek changelog paket PHP-mu untuk CVE-2026-109618 dan CVE-2026-109619, atau minta penyedia hosting memastikan kedua perbaikan itu sudah terpasang di servermu.
Apakah session upload progress tetap perlu dimatikan setelah update?
Ya, untuk sementara. Pada 23 Oktober 2026 PHP menyarankan session.upload_progress.enabled=0 sampai rilis bugfix reguler berikutnya, untuk melindungi dari jalur RCE CVE-2026-115560 yang kecil kemungkinannya. Cloudflare mencatat celah ini juga mengenai rilis yang sudah ditambal seperti 8.5.12. Restart semua worker PHP setelah mengubahnya.
Apakah Cloudflare WAF cukup untuk melindungi website PHP?
Tidak. Cloudflare menyebut WAF-nya sudah melindungi paket gratis dan berbayar secara default sejak 21 Oktober 2026 pukul 03.02 UTC, tapi menyebut WAF sebagai lapisan pertahanan tambahan, bukan pengganti. Cloudflare tetap meminta pelanggan menambal PHP, dan PHP menegaskan update adalah satu-satunya perbaikan lengkap.
Apakah website WordPress dan Laravel ikut terdampak?
Celahnya ada di PHP itu sendiri, dan PHP menyebut semua instalasi yang melayani request web berisiko. Website WordPress, Laravel, atau PHP custom ikut terbuka kalau servernya masih memakai versi PHP yang belum ditambal. Update CMS atau framework tidak cukup; runtime PHP di server yang harus diperbarui.
Sumber
Fakta dan angka di artikel ini berasal dari sumber resmi berikut.
- PHP news: Security advisory: Critical remote code execution vulnerabilities, update now (21 October 2026)
- PHP news: Informational advisory: Session upload progress (23 October 2026)
- Cloudflare Blog: Cloudflare deploys protections against php2shell vulnerability (21 October 2026, updated 23 October 2026)
- Web development
- Security
- PHP
- Maintenance
- Cloudflare





