Komdigi Ingatkan Ancaman PHP2Shell, Hacker Bisa Jalankan Kode dari Jauh
Kementerian Komunikasi dan Digital (Komdigi) melalui laman resmi, mengimbau pengelola sistem berbasis PHP untuk segera memperbarui perangkat lunak guna mengatasi dua kerentanan keamanan kritis yang berpotensi dimanfaatkan peretas untuk menjalankan kode dari jarak jauh.
Dua kerentanan tersebut memiliki kode identifikasi CVE-2026-109618 dan CVE-2026-109619, yang dikenal sebagai PHP2Shell. Keduanya memiliki skor CVSS v4.0 sebesar 9,2, dengan tingkat keparahan kritis.
Kerentanan ini memungkinkan penyerang menjalankan kode dari jarak jauh tanpa harus memiliki akun atau melakukan autentikasi, dalam kondisi eksploitasi tertentu.
Tim pengembang PHP merilis pembaruan keamanan pada 21 Oktober 2026 untuk mengatasi kedua celah tersebut. Pengelola sistem diminta segera memasang pembaruan yang sesuai dengan versi PHP yang digunakan.
Kerentanan pertama, CVE-2026-109618, berkaitan dengan kesalahan penanganan kondisi out-of-memory (OOM), yaitu ketika PHP kehabisan memori saat memproses masukan.
Dalam kondisi tertentu, PHP dapat menghentikan proses ketika struktur data internal belum selesai diinisialisasi. Ketika proses pembersihan permintaan berlangsung, struktur yang belum valid tersebut masih dapat diproses sehingga memicu kerusakan memori.
Kondisi ini dapat dimanfaatkan untuk mengubah alur eksekusi program dan menjalankan kode yang dikendalikan penyerang. Pada jalur Apache mod_php yang telah didemonstrasikan, eksploitasi dapat berlangsung sebelum kode aplikasi dijalankan sehingga tidak memerlukan proses login ke aplikasi.
Sementara itu, CVE-2026-109619 berkaitan dengan stale global state, yaitu ketika referensi internal PHP masih menunjuk ke memori dari permintaan sebelumnya yang sudah dibebaskan.
Ketika permintaan berikutnya diproses oleh pekerja yang sama, PHP dapat mengakses referensi tersebut sebelum proses inisialisasi normal dilakukan. Kondisi ini dapat menyebabkan use-after-free, yakni penggunaan memori yang sudah dibebaskan.
Dalam kondisi tertentu, kelemahan tersebut dapat dimanfaatkan untuk mengarahkan alur eksekusi dan menjalankan kode dari jarak jauh. Keberhasilan eksploitasi bergantung pada konfigurasi, lingkungan server, serta jalur pemrosesan permintaan yang tersedia.
Pembaruan keamanan tersedia untuk empat cabang PHP yang masih didukung. Berikut versi yang terdampak dan versi pertama yang telah memuat perbaikan keamanan:
- PHP 8.2: Versi 8.2.0–8.2.34 terdampak. Pembaruan tersedia pada versi 8.2.35
- PHP 8.3: Versi 8.3.0–8.3.35 terdampak. Pembaruan tersedia pada versi 8.3.36.
- PHP 8.4: Versi 8.4.0–8.4.26 terdampak. Pembaruan tersedia pada versi 8.4.27.
- PHP 8.5: Versi 8.5.0–8.5.11 terdampak. Pembaruan tersedia pada versi 8.5.12.
Rentang tersebut berlaku untuk rilis PHP upstream yang belum menerima perbaikan keamanan. Pengelola sistem yang menggunakan paket distribusi Linux perlu memeriksa pemberitahuan keamanan dari vendor masing-masing karena perbaikan dapat diterapkan tanpa mengubah nomor versi dasar PHP.
Adapun PHP 8.1 dan versi yang lebih lama telah berada di luar dukungan rutin proyek PHP. Tim Keamanan PHP menyediakan perbaikan untuk PHP 7.4, 8.0, dan 8.1. Namun, pengelola tetap perlu memeriksa dukungan dari vendor atau mempertimbangkan migrasi ke versi yang masih didukung.
Langkah Atasi Kerentanan PHP2Shell
Pengelola sistem perlu menginventarisasi seluruh lingkungan PHP yang digunakan untuk menjalankan aplikasi, termasuk container dan aplikasi yang membawa interpreter PHP sendiri.
Pemeriksaan tidak cukup hanya mengandalkan perintah "php -v" pada terminal karena versi PHP yang digunakan melalui antarmuka baris perintah atau command-line interface (CLI) dapat berbeda dari versi yang melayani aplikasi web.
Setelah mengidentifikasi sistem terdampak, pengelola perlu memasang pembaruan keamanan dari proyek PHP atau paket vendor yang sudah memuat perbaikan. Untuk sistem berbasis container, pengelola perlu membangun ulang dan menerapkan kembali citra atau image yang terdampak.
Seluruh pekerja atau worker yang masih menjalankan versi lama juga perlu di-restart atau diganti agar menggunakan runtime yang telah diperbarui.
Apabila pembaruan belum dapat diterapkan, CERT-EU merekomendasikan organisasi mempertimbangkan isolasi aplikasi yang terhubung langsung ke internet dari jaringan publik sampai perbaikan keamanan diterapkan.
Untuk jalur eksploitasi tertentu pada CVE-2026-109619, PHP Security Advisory juga mencantumkan mitigasi sementara dengan menonaktifkan "session.upload_progress.enabled=0". Khusus PHP 8.5, pengelola dapat menonaktifkan "fatal_error_backtraces=0" dan me-restart seluruh pekerja.
Namun, pengaturan tersebut hanya mengurangi risiko pada jalur tertentu dan tidak menggantikan pembaruan keamanan untuk kedua kerentanan.
Pengelola sistem juga disarankan meningkatkan pemantauan terhadap pengiriman formulir yang tidak lazim, kesalahan kehabisan memori pada log PHP, serta kemunculan proses shell yang berasal dari pekerja web.
Tidak ada satu indikator yang secara mandiri membuktikan terjadinya eksploitasi. Sebaliknya, keberhasilan eksploitasi juga tidak selalu menyebabkan proses pekerja berhenti atau menghasilkan pesan kesalahan.
Jika ditemukan aktivitas mencurigakan, pengelola perlu menyimpan bukti log dan berkoordinasi dengan tim Security Operations Center (SOC) atau Computer Security Incident Response Team (CSIRT) untuk melakukan pemeriksaan.
Urgensi penanganan meningkat karena detail teknis dan proof of concept (PoC), yaitu contoh yang menunjukkan cara mengeksploitasi kerentanan, mulai beredar secara publik. Meski demikian, keberadaan PoC tidak dengan sendirinya membuktikan bahwa setiap sistem yang rentan telah berhasil diretas.
Pembaruan keamanan yang sesuai tetap menjadi langkah utama untuk menutup kedua kerentanan PHP2Shell. Perubahan konfigurasi saja tidak memberikan perlindungan menyeluruh.
