
Dunia keamanan siber dihebohkan dengan pengungkapan kerentanan tingkat tinggi (critical) pada inti bahasa pemrograman PHP yang dijuluki PHP2Shell. Temuan yang dipublikasikan oleh firma riset keamanan terkemuka seperti Akamai dan Wiz ini menyoroti kelemahan mendasar dalam manajemen memori PHP yang memungkinkan penyerang mendapatkan akses Remote Code Execution (RCE) tanpa perlu otentikasi.
Artikel ini mengupas secara mendalam apa itu PHP2Shell, bagaimana kerentanan ini bekerja, serta mengapa dampaknya sangat masif bagi ekosistem web modern.
Apa Itu PHP2Shell?
PHP2Shell bukanlah sekadar celah keamanan biasa pada plugin atau tema aplikasi tertentu (seperti WordPress atau Drupal), melainkan nama yang diberikan untuk sekelompok kerentanan berbahaya di dalam core engine (inti runtime) PHP itu sendiri.
Kerentanan ini melibatkan dua Common Vulnerabilities and Exposures (CVE) utama dengan skor CVSS 9.2 (tingkat keparahan kritis), yaitu:
-
CVE-2026-109618: Kerentanan korupsi memori yang dipicu oleh penanganan kesalahan kehabisan memori (Out-of-Memory / OOM).
-
CVE-2026-109619: Kerentanan Use-After-Free (UAF) yang terkait dengan fitur pelacakan progres unggahan (upload progress) dan penyimpanan status global (stale global state) yang bertahan antarpermintaan HTTP.
Karena celah ini berada di level inti PHP, seluruh aplikasi yang berjalan di atas PHP rentan, terlepas seberapa aman kode sumber aplikasi (seperti WordPress, Magento, Drupal, Joomla, Laravel, dll.). Kerentanan ini memengaruhi versi PHP yang sangat luas, merentang jauh ke belakang dari PHP 5.4 hingga versi 8.5.
Cara Kerja PHP2Shell (Analisis Teknis)
Berdasarkan laporan teknis dari Akamai dan Wiz, eksploitasi PHP2Shell memanfaatkan cara PHP mengelola memori saat menghadapi kondisi ekstrem atau interupsi proses. Berikut adalah ringkasan mekanismenya:
-
Manipulasi Fitur Upload Progress: PHP memiliki fitur bawaan untuk melacak progres unggahan file melalui parameter
PHP_SESSION_UPLOAD_PROGRESS. Fitur ini memetakan pointer memori internal (zval) langsung ke dalam array sesi. -
Memicu Kondisi Free & Kesalahan Memori: Penyerang dapat memanipulasi aliran permintaan (misalnya dengan menunda transmisi TCP) untuk memicu kondisi galat atau memori penuh (OOM). Ketika fungsi internal diinterupsi secara tidak normal, memori tertentu dikosongkan (freed), tetapi referensinya tertinggal.
-
Penggunaan Kembali Memori Basi (Use-After-Free): Pada permintaan berikutnya oleh worker PHP yang sama, mesin PHP secara keliru memperlakukan memori kosong tersebut sebagai data yang sah.
-
Eksekusi Kode Jarak Jauh (RCE): Dengan teknik heap spraying, penyerang dapat menanamkan payload berbahaya ke dalam struktur memori tersebut. Ketika mesin PHP mencoba mengakses pointer fungsi (seperti destruktor), eksekusi melompat langsung ke kode miliki penyerang, memberikan akses shell ke server tanpa login.
-
Kebocoran Memori Sensitif: Selain RCE, salah satu celah dalam PHP2Shell dapat memaksa PHP mengembalikan memori worker mentah ke klien melalui cookie (misalnya
PHPSESSID), yang berpotensi membocorkan token sesi, kata sandi, kunci API, hingga kunci privat TLS milik pengguna lain.
Peran Kecerdasan Buatan (AI) dalam Penemuan Kerentanan
Salah satu aspek paling menarik dari kasus PHP2Shell yang disorot oleh Wiz dan Google Cloud adalah bagaimana kecerdasan buatan (AI) mempercepat penemuan bug kompleks.
Celah korupsi memori tingkat rendah yang terkubur jauh di dalam kode sumber bahasa pemrograman C/PHP biasanya membutuhkan waktu bertahun-tahun dan keahlian riset tingkat tinggi untuk ditemukan secara manual. Namun, dengan bantuan model AI frontier, hambatan riset tersebut terpangkas secara drastis, memungkinkan peneliti melacak alur memori yang rumit dan membangun rantai eksploitasi dalam waktu relatif singkat.
Langkah Mitigasi dan Solusi
Karena kerentanan ini berada di tingkat inti runtime, menambal aplikasi web (seperti memperbarui plugin WordPress) saja tidak cukup.
-
Pembaruan Perangkat Lunak (Remediasi Utama):Tim pengembang PHP telah merilis pembaruan darurat. Langkah paling mutlak dan utama adalah segera memperbarui versi PHP ke rilis yang sudah ditambal (seperti PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12, atau versi terbaru yang didukung).
-
Mitigasi Sementara (Jika Belum Bisa Upgrade):
-
Menonaktifkan fitur pelacakan unggahan di
php.ini(session.upload_progress.enabled = 0). -
Memblokir permintaan data multipart mencurigakan melalui konfigurasi Web Server (Nginx/Apache) bagi yang menjalankan layanan unggah file publik, meskipun ini bersifat parsial dan dapat berdampak pada fungsi normal situs.
-
PHP2Shell menjadi pengingat keras bagi industri bahwa infrastruktur dasar (backbone) web yang selama ini dianggap aman pun menyimpan risiko laten yang besar, menuntut kewaspadaan tinggi serta respons cepat dari para administrator sistem di seluruh dunia.
