Dunia pengembangan web kembali digemparkan dengan ditemukannya dua celah keamanan tingkat tinggi pada ekosistem PHP yang dikenal sebagai php2shell, terdaftar dengan nomor kerentanan CVE-2026-109618 dan CVE-2026-109619. Kerentanan ini memungkinkan penyerang mengeksekusi perintah arbitrer dari jarak jauh (RCE) jika aplikasi tidak dikonfigurasi dengan benar atau menggunakan versi PHP yang rentan.
Sebagai pengembang dan praktisi keamanan, memahami cara kerja serta langkah mitigasi untuk kedua kerentanan ini adalah sebuah keharusan agar infrastruktur server Anda tidak menjadi korban eksploitasi pihak tak bertanggung jawab.
Memahami Kerentanan CVE-2026-109618 dan CVE-2026-109619
Secara singkat, CVE-2026-109618 dan CVE-2026-109619 mengeksploitasi kelemahan dalam cara interpreter PHP memproses input fungsi tertentu yang berkaitan dengan pemanggilan proses sistem eksternal. Penyerang dapat mengirimkan payload khusus yang memicu eksekusi shell tidak sah.
Dampak Risiko
Eksekusi Perintah Jarak Jauh (RCE) tanpa otentikasi.
Pencurian data sensitif dari database maupun file sistem.
Pengambilalihan penuh server (Full Server Takeover).
Langkah-Langkah Mitigasi dan Perbaikan
Untuk melindungi aplikasi Anda dari serangan php2shell, terapkan langkah-langkah mitigasi berikut secara bertahap:
1. Segera Lakukan Pembaruan (Patching) PHP
Langkah paling utama adalah memperbarui versi PHP Anda ke rilis keamanan terbaru yang telah dirilis oleh PHP.org. Tim pengembang PHP telah merilis patch resmi untuk menutup celah ini.
# Contoh pembaruan PHP pada Ubuntu / Debian
sudo apt update
sudo apt upgrade php8.2 php8.2-cli php8.2-fpm2. Audit Kode Sumber Aplikasi
Periksa kembali kode sumber aplikasi Anda, terutama pada bagian yang menerima input langsung dari pengguna dan meneruskannya ke fungsi-fungsi sistem seperti exec(), shell_exec(), atau system().
Gunakan fungsi sanitasi yang ketat atau alihkan menggunakan pustaka yang lebih aman:
// Hindari penggunaan fungsi shell mentah dengan input tak disaring
// Gunakan prepared statements atau API bawaan framework yang aman
$userInput = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);3. Perketat Konfigurasi php.ini
Nonaktifkan fungsi-fungsi berbahaya yang tidak digunakan pada environment produksi dengan menambahkan direktif berikut di file php.ini:
disable_functions = exec, passthru, shell_exec, system, proc_open, popenKesimpulan
Kerentanan kritis seperti CVE-2026-109618 dan CVE-2026-109619 (php2shell) adalah pengingat penting bahwa keamanan aplikasi web memerlukan pemantauan berkelanjutan. Dengan memperbarui versi PHP, melakukan audit kode secara berkala, dan memperketat konfigurasi server, Anda dapat meminimalisir risiko eksploitasi dan menjaga integritas sistem Anda.