Celah PHP2Shell sudah ditambal lewat empat rilis PHP pada Rabu, 21 Oktober 2026, tetapi tidak semua situs ikut terlindungi. Server yang masih memakai PHP 8.1 atau versi lebih lama tidak mendapat rilis perbaikan resmi dari proyek PHP.
Tim keamanan PHP merilis PHP 8.5.12, 8.4.27, 8.3.36, dan 8.2.35 pada Rabu, 21 Oktober 2026. Rilis itu dijadwalkan pukul 14.00 UTC atau 21.00 WIB. Keempat versi menutup dua celah kritis, yakni CVE-2026-109618 dan CVE-2026-109619. Keduanya diberi skor CVSS v4.0 9.2.
Menurut tim PHP, kedua celah bisa dipakai untuk menjalankan kode dari jarak jauh tanpa perlu login. Tim itu meminta semua pengguna PHP segera memperbarui. “Tidak ada mitigasi yang lengkap, memperbarui adalah satu-satunya pilihan aman,” tulis tim PHP di setiap pengumuman rilis.
Jumlah situs yang terdampak berpotensi besar. Data W3Techs mencatat PHP dipakai 69,3 persen situs yang bahasa servernya diketahui. WordPress, Drupal, Joomla, dan Magento termasuk platform yang berjalan di atas PHP. Peneliti keamanan Silas Cutler memperkirakan lebih dari 1,3 juta host yang terhubung ke internet berpotensi rentan.
Versi PHP yang sudah dapat perbaikan
Perbaikan resmi hanya tersedia untuk cabang PHP yang masih didukung, yakni 8.2 sampai 8.5. Distribusi Linux dan vendor dukungan jangka panjang (LTS) sudah menerima patch lebih dulu.
Status perbaikan setiap cabang menurut pengumuman tim keamanan PHP adalah sebagai berikut.
| Cabang PHP | Versi perbaikan | Keterangan |
|---|---|---|
| 8.5 | 8.5.12 | Rilis Rabu, 21 Oktober 2026 |
| 8.4 | 8.4.27 | Rilis Rabu, 21 Oktober 2026 |
| 8.3 | 8.3.36 | Rilis Rabu, 21 Oktober 2026 |
| 8.2 | 8.2.35 | Dukungan berakhir Kamis, 31 Desember 2026 |
| 7.4, 8.0, 8.1 | Tanpa rilis resmi | Hanya backport kode sumber minimal |
Pengguna repositori sukarela rpms.remirepo.net tidak mendapat pembaruan pada 21 Oktober. Repositori ini banyak dipakai di server berbasis RHEL. Tim PHP menyarankan penggunanya beralih ke paket bawaan distribusi atau mengompilasi PHP dari kode sumber.
Celah PHP2Shell harus ditutup di tingkat server, bukan di kode situs. Perusahaan keamanan Sansec menegaskan celah ini tidak bisa diperbaiki dari dalam kode aplikasi. Sansec menyarankan pelanggan yang tidak mengelola server sendiri meminta penyedia hosting memasang pembaruan PHP begitu tersedia.
Nasib situs dengan PHP 8.1 ke bawah
Proyek PHP tidak lagi merilis pembaruan untuk PHP 8.1 dan versi yang lebih lama. Meski begitu, tim keamanan PHP menyediakan backport kode sumber minimal untuk PHP 7.4, 8.0, dan 8.1. Paket ini ditujukan bagi mereka yang mengompilasi PHP sendiri atau tidak punya vendor LTS.
Menurut Tenable Research, distribusi Linux yang masih membawa paket PHP lama bisa saja menyediakan perbaikan hasil backport. Sansec menyarankan pemilik server PHP 8.1 ke bawah meminta penyedia layanannya membuat backport perbaikan atau memindahkan situs ke versi PHP yang masih didukung.
Sebelum rilis, informasi tentang versi yang terdampak sempat simpang siur. CERT-EU, tim tanggap darurat siber Uni Eropa, menyebut semua versi sejak PHP 5 bisa terdampak. Sementara itu, banner alat eksploit yang bocor mengklaim bekerja pada semua rilis sejak PHP 5.4.0.
PHP 8.2 juga tidak akan didukung lama lagi. Masa dukungan cabang ini berakhir pada Kamis, 31 Desember 2026. Setelah tanggal itu, PHP 8.2 tidak akan mendapat perbaikan keamanan.
Server yang paling berisiko, dari mod_php sampai PHP-FPM
Tim PHP menyebut semua instalasi PHP yang melayani permintaan web berisiko. Daftarnya mencakup PHP-FPM, Apache dengan mod_php, php-cgi, FrankenPHP, dan LiteSpeed.
Risiko tertinggi ada pada mod_php. Menurut tim PHP, sudah ada eksploit yang terbukti bisa dipicu oleh permintaan tanpa autentikasi, bahkan sebelum kode aplikasi apa pun berjalan.
Kedua celah punya mekanisme yang berbeda. CVE-2026-109618 muncul saat PHP kehabisan memori ketika data permintaan baru sebagian disiapkan. Proses pembersihan lalu menganggap data rusak itu sah. CVE-2026-109619 terjadi karena data internal sebuah permintaan masih tersisa setelah memorinya dilepas. Data usang itu bisa dipakai permintaan berikutnya yang ditangani worker yang sama.
Mitigasi sementara yang dianjurkan tim PHP
Bagi yang belum bisa memperbarui, tim PHP memberi langkah darurat. Tim itu menegaskan langkah ini hanya mengurangi paparan pada jalur serangan tertentu dan tidak membuat instalasi aman.
- Untuk CVE-2026-109618: atur memory_limit=-1 dengan cara yang tidak bisa ditimpa aplikasi.
- Turunkan post_max_size menjadi 8M bila situs tidak butuh unggah berkas, atau 32M bila perlu. Jaga upload_max_filesize tetap di bawahnya.
- Jangan memakai RLIMIT_AS atau RLIMIT_DATA karena justru bisa memicu kegagalan alokasi memori yang rentan.
- Untuk CVE-2026-109619: atur session.upload_progress.enabled=0 di php.ini, pool FPM, atau konfigurasi server, lalu mulai ulang semua worker.
- Khusus PHP 8.5: atur fatal_error_backtraces=0.
Sansec menambahkan beberapa opsi di tingkat server web. Opsi itu meliputi memblokir permintaan multipart/form-data, membuat situs hanya-baca dengan menolak semua metode selain GET dan HEAD, atau mematikan PHP sementara dan menampilkan halaman perawatan statis. Menurut Sansec, pemblokiran multipart akan mematikan semua fitur unggah berkas, termasuk pustaka media WordPress.
Cloudflare memasang aturan web application firewall (WAF), yakni penyaring lalu lintas di depan situs, untuk vektor serangan yang sudah diketahui. Aturan ini juga berlaku bagi pengguna paket gratis. CTO Cloudflare Dane Knecht menyebut aturan itu “a STOPGAP only”, artinya hanya penambal sementara. CERT-EU menyarankan aplikasi yang terhubung langsung ke internet diisolasi dari jaringan publik bila patch belum bisa segera dipasang.
Langkah yang tidak melindungi situs
Tim PHP meminta pengelola server tidak mengandalkan ini_set() atau berkas .user.ini untuk mematikan session upload progress. Pengaturan itu pun hanya menutup jalur serangan lewat sesi yang sudah terkonfirmasi, bukan varian lainnya.
Menyembunyikan pesan galat lewat error_reporting, display_errors, atau operator @ juga tidak membantu. Sansec menyatakan mode perawatan bawaan Magento dan WordPress pun tidak menolong. Sebabnya, setiap permintaan sudah diurai PHP lebih dulu, sebelum aplikasi sempat mengecek apakah situs sedang dalam mode perawatan.
Dari kalangan pengembang PHP sendiri, Joe Ferguson, manajer rilis PHP 8.6, menanggapi usulan mematikan session upload progress dengan kalimat “ini settings won’t save you”. Pengembang inti PHP Gina Peter Banyard menyatakan “the only mitigation is patching / upgrading PHP”, yang berarti satu-satunya mitigasi adalah memperbarui PHP.
Bocor sebelum jadwal patch
Nomor CVE celah PHP2Shell lebih dulu beredar di forum Hacker News pada Selasa, 20 Oktober 2026 pukul 15.20 UTC. Unggahan yang kini sudah dihapus itu menyebut pengungkapan baru dilakukan 22 Oktober dan memberi skor CVSS 10.0. Pada hari yang sama, tim PHP mengumumkan jadwal rilis 21 Oktober dengan skor 9.2.
CEO watchTowr Benjamin Harris memastikan celah itu nyata. “We can confirm that these vulnerabilities are indeed real,” ujarnya. watchTowr meyakini telah mereproduksi CVE-2026-109618, tetapi menahan detail teknisnya.
Pada 21 Oktober pukul 10.35 UTC, sejumlah situs di Belanda dimatikan sebagai langkah pencegahan, menurut catatan Sansec. Situs yang dimatikan termasuk milik Tweede Kamer atau DPR Belanda, National Cyber Security Centre (NCSC) Belanda, situs teknologi Tweakers, dan Security.NL.
Status serangan dan peringatan soal kode eksploit
Perusahaan-perusahaan keamanan memberi keterangan berbeda soal serangan. watchTowr dan Huntress menyatakan belum melihat kedua celah dieksploitasi di dunia nyata. Sebaliknya, Knecht mengatakan Cloudflare melihat serangan awal mulai bermunculan.
Sansec memperkirakan serangan massal dimulai dalam 15 menit setelah patch dirilis. Per 21 Oktober, kedua CVE belum masuk katalog Known Exploited Vulnerabilities milik CISA, badan keamanan siber Amerika Serikat.
Kode yang diklaim bisa mengeksploitasi celah ini sudah beredar di internet. Tenable Research menyatakan belum memverifikasi apakah kode itu benar-benar berfungsi. Tenable juga mengingatkan bahwa kode eksploit yang belum terverifikasi kadang disisipi malware.
Tulis Komentar