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-fpm

2. 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, popen

Kesimpulan

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.