PHP Rilis Patch Darurat, Celah PHP2Shell Mulai Dieksploitasi


Ilustrasi Serangan Siber

Ilustrasi Serangan Siber

PHP merilis pembaruan keamanan darurat untuk mengatasi dua celah keamanan kritis yang memungkinkan peretas menjalankan kode berbahaya di server web tanpa perlu memiliki akun. Celah yang dijuluki PHP2Shell ini menjadi perhatian karena berada di dalam mesin inti PHP, sehingga situs web tetap berisiko meskipun aplikasi yang dijalankan telah memiliki sistem keamanan yang baik.

Pembaruan keamanan tersebut tersedia melalui PHP 8.5.12, PHP 8.4.27, PHP 8.3.36, dan PHP 8.2.35. Tim pengembang PHP menegaskan bahwa memperbarui perangkat lunak ke versi yang telah diperbaiki merupakan satu-satunya cara untuk menutup celah tersebut secara menyeluruh.

Ancaman ini semakin mendesak setelah sejumlah peneliti keamanan melaporkan adanya upaya eksploitasi terhadap kedua celah tersebut. Cloudflare juga mengungkapkan bahwa mereka melihat lalu lintas serangan yang mencoba memanfaatkan kerentanan itu untuk menargetkan pelanggan mereka.

Kedua celah tersebut terdaftar sebagai CVE-2026-109618 dan CVE-2026-109619. Masing-masing memperoleh skor 9,2 pada skala CVSS v4.0, yang menunjukkan tingkat keparahan sangat tinggi.

PHP semula menjadwalkan pengungkapan celah tersebut pada 22 Oktober 2026. Namun, setelah informasi mengenai kerentanan bocor sebelum waktunya, pembaruan keamanan akhirnya dirilis pada 21 Oktober 2026.

Celah ini ditemukan oleh para peneliti dari Wiz, Calif, dan OpenAI. Dampaknya diperkirakan menjangkau hampir seluruh versi PHP sejak versi 5.4, sehingga administrator server perlu segera memeriksa sistem yang mereka kelola.

 

Dua Celah PHP2Shell Bisa Dieksploitasi Tanpa Akun

PHP2Shell merupakan sebutan untuk dua kerentanan yang memungkinkan penyerang mengeksploitasi mesin inti PHP. Berbeda dari celah keamanan yang hanya ditemukan pada aplikasi tertentu, masalah ini berada pada PHP runtime, yaitu komponen yang menjalankan kode PHP di server.

Artinya, kelemahan tersebut tidak selalu dapat diatasi dengan memperbarui aplikasi seperti WordPress atau Laravel. Jika mesin PHP yang digunakan masih rentan, situs web tetap berpotensi menjadi sasaran serangan.

Risiko terbesar ditemukan pada server yang menggunakan Apache mod_php. Dalam skenario yang telah didemonstrasikan peneliti, penyerang cukup mengirimkan satu permintaan HTTP tanpa autentikasi untuk memicu serangan sebelum kode aplikasi dijalankan.

Dengan kondisi tersebut, mekanisme keamanan yang hanya diterapkan pada tingkat aplikasi belum tentu mampu menghentikan serangan. Pasalnya, proses eksploitasi dapat berlangsung sebelum aplikasi memperoleh kesempatan untuk memproses permintaan tersebut.

Kondisi ini membuat PHP2Shell menjadi perhatian bagi pengelola situs web, perusahaan penyedia hosting, pengembang aplikasi, dan organisasi yang mengandalkan PHP untuk menjalankan layanan digital.

PHP sendiri digunakan untuk membangun berbagai jenis layanan web. Karena kerentanan berada pada mesin inti bahasa pemrograman, dampaknya tidak terbatas pada satu platform atau aplikasi tertentu.

 

Server Mana Saja yang Berisiko?

Menurut PHP security advisory, seluruh instalasi PHP yang melayani permintaan web berpotensi terdampak. Sistem yang disebut mencakup PHP-FPM, Apache mod_php, php-cgi, FrankenPHP, dan LiteSpeed.

Bahkan, halaman sederhana yang hanya menampilkan tulisan "Hello World" dapat menjadi sasaran apabila dijalankan menggunakan versi PHP yang rentan. Dengan kata lain, tingkat kerumitan aplikasi bukan faktor utama yang menentukan apakah sebuah server terdampak.

Meski begitu, tingkat risiko dan jalur eksploitasi dapat berbeda berdasarkan konfigurasi server yang digunakan.

Pada Apache mod_php, peneliti telah menunjukkan bahwa permintaan tanpa autentikasi dapat memicu serangan sebelum kode aplikasi dijalankan. Sementara itu, PHP-FPM memiliki mekanisme berbeda karena proses pekerjanya dapat dihentikan ketika terjadi kegagalan pada tahap awal penyiapan permintaan.

Untuk CVE-2026-109618, analisis PHP menyatakan bahwa PHP-FPM tetap berpotensi terdampak, tetapi belum ada eksploitasi lengkap pada konfigurasi tersebut yang berhasil diperlihatkan. Adapun CVE-2026-109619 terbukti dapat mencapai tahap eksekusi kode pada mod_php maupun PHP-FPM, meskipun jalur serangan pada PHP-FPM bergantung pada operasi di dalam aplikasi yang sedang berjalan.

Selain memungkinkan eksekusi kode, kedua kerentanan juga menimbulkan risiko kebocoran informasi dari memori proses PHP.

Memori tersebut dapat menyimpan data sensitif, termasuk kata sandi, token autentikasi, kunci API, dan sertifikat yang berkaitan dengan permintaan lain. Jika informasi itu berhasil dibaca oleh penyerang, dampaknya dapat meluas ke keamanan akun, aplikasi, dan layanan lain yang menggunakan kredensial tersebut.

Para peneliti telah mendemonstrasikan pembacaan memori proses PHP yang sedang berjalan pada aplikasi yang tidak mereka kendalikan. Temuan ini memperlihatkan bahwa risiko tersebut tidak hanya bergantung pada kode aplikasi yang berjalan di atas PHP.

 

Daftar Versi PHP yang Sudah Mendapatkan Perbaikan

Administrator server disarankan segera memperbarui PHP ke versi yang telah menerima perbaikan keamanan. Setelah pembaruan selesai, proses Apache, PHP-FPM, dan pekerja PHP lain yang berjalan dalam waktu lama juga perlu dimulai ulang agar versi yang telah diperbaiki benar-benar digunakan.

Berikut daftar versi PHP yang telah mendapatkan patch untuk PHP2Shell.

PHP branch Vulnerable First fixed version
PHP 8.5 Di bawah 8.5.12 8.5.12
PHP 8.4 Di bawah 8.4.27 8.4.27
PHP 8.3 Di bawah 8.3.36 8.3.36
PHP 8.2 Di bawah 8.2.35 8.2.35


Pembaruan harus dilakukan pada mesin PHP yang menjalankan permintaan web, bukan hanya pada aplikasi. Sebagai contoh, memperbarui WordPress ke versi terbaru tidak otomatis memperbarui PHP yang terpasang pada server hosting. Sumber pembaruan dapat berasal dari paket sistem operasi atau penyedia hosting yang digunakan untuk menjalankan aplikasi.

Pengguna PHP 8.1 dan versi yang lebih lama perlu memberikan perhatian tambahan karena versi-versi tersebut sudah tidak lagi menerima pembaruan langsung dari proyek PHP. Sementara itu, PHP 8.2 dijadwalkan mencapai akhir masa dukungan pada 31 Desember 2026.

Untuk membantu pengguna versi lama, tim keamanan PHP juga menyediakan backport, yakni penerapan perbaikan keamanan ke cabang versi sebelumnya. Perbaikan ini tersedia untuk PHP 7.4, 8.0, dan 8.1 bagi pengguna yang membangun PHP dari kode sumber atau masih menunggu pembaruan dari penyedia perangkat lunak.

Administrator juga perlu memahami bahwa nomor versi tidak selalu menunjukkan status keamanan secara langsung. Sejumlah distribusi Linux dan penyedia dukungan jangka panjang telah menerima patch sebelum pengumuman resmi, sehingga paket yang sudah diperbaiki mungkin tetap menggunakan nomor versi yang terlihat lama.

Karena itu, pemeriksaan perlu dilakukan melalui catatan changelog. Administrator harus memastikan bahwa perbaikan untuk CVE-2026-109618 dan CVE-2026-109619 sudah disertakan, bukan hanya mengandalkan nomor versi yang ditampilkan.

 

Mitigasi Sementara Jika Server Belum Bisa Diperbarui

PHP menegaskan bahwa pembaruan tetap menjadi satu-satunya solusi yang memberikan perlindungan menyeluruh. Perubahan konfigurasi hanya dapat mengurangi risiko pada jalur serangan tertentu dan tidak menjamin server sepenuhnya aman.

Untuk CVE-2026-109618, administrator dapat menerapkan pembatasan ukuran permintaan pada server web atau proksi serta mempertahankan nilai post_max_size tetap rendah. Pengaturan memory_limit=-1 juga disebut dalam imbauan teknis PHP dengan ketentuan agar aplikasi tidak dapat mengubah pengaturan tersebut.

Administrator tidak disarankan menggunakan RLIMIT_AS atau RLIMIT_DATA sebagai pengganti mitigasi tersebut. Menurut PHP, kedua pengaturan itu dapat memicu jalur yang sama-sama rentan.

Sementara itu, untuk CVE-2026-109619, administrator disarankan menonaktifkan fitur pelacakan progres unggahan sesi melalui pengaturan berikut:

session.upload_progress.enabled=0 

Setelah perubahan dilakukan, seluruh proses pekerja PHP perlu dimulai ulang. Pada PHP 8.5, pengaturan fatal_error_backtraces=0  juga disarankan sebagai bagian dari mitigasi.

Fitur pelacakan progres unggahan sesi secara default diaktifkan dan dapat mengakses penanganan sesi sebelum PHP menyelesaikan penyiapan permintaan. Kondisi ini menjadi bagian dari salah satu jalur serangan yang telah dikonfirmasi pada CVE-2026-109619.

Namun, menonaktifkan fitur tersebut tidak melindungi server dari CVE-2026-109618 dan tidak menutup seluruh kemungkinan variasi serangan pada CVE-2026-109619.

Pengembang inti PHP, Gina Peter Banyard, sebelumnya juga memperingatkan bahwa perubahan konfigurasi saja tidak cukup untuk mengatasi masalah ini.

"Satu-satunya hal yang bisa saya katakan adalah mitigasi satu-satunya ialah menambal atau meningkatkan versi PHP. Sayangnya, saya tahu terlalu banyak," tulis Banyard sebelum pembaruan keamanan dirilis.

Setelah memasang patch, administrator tetap perlu meninjau pengaturan memori, terutama memory_limit dan post_max_size . Perbaikan tersebut memperkenalkan batas memori keras yang dapat menghentikan proses ketika batas tertentu tercapai, sekaligus mencegah fungsi penanganan saat proses berakhir dijalankan.

Pengaturan memori perlu disesuaikan dengan kebutuhan aplikasi agar pembaruan keamanan tidak menimbulkan gangguan operasional yang tidak diinginkan.

Selain itu, organisasi yang mencurigai adanya serangan sebelum patch dipasang disarankan memeriksa log server. Indikasi yang perlu diperhatikan antara lain permintaan multipart yang tidak biasa dan diikuti kesalahan batas memori, respons HTTP 500 berulang, kuki PHPSESSID dengan ukuran tidak wajar, serta proses pekerja PHP yang dimulai ulang tanpa penjelasan.

 

Cloudflare dan watchTowr Melaporkan Upaya Eksploitasi

Ancaman PHP2Shell semakin mendesak setelah sejumlah pihak melaporkan adanya aktivitas yang mencoba memanfaatkan kerentanan tersebut.

Sebelum patch dirilis, Cloudflare menyatakan telah melihat upaya awal eksploitasi. CTO Cloudflare, Dane Knecht, mengatakan perusahaan terus menyesuaikan perlindungan seiring munculnya variasi jalur serangan.

"Kami melihat serangan awal mulai bermunculan dan terus memperbarui mitigasi seiring munculnya vektor serangan baru," kata Knecht.

Cloudflare menerapkan aturan firewall untuk membantu memblokir lalu lintas berbahaya. Namun, perusahaan tersebut menegaskan bahwa aturan firewall hanya menjadi perlindungan sementara dan tidak menggantikan kebutuhan untuk memperbarui PHP.

Dalam pembaruan pada 21 Oktober pukul 14.19 UTC, perusahaan keamanan watchTowr melaporkan pengamatan terhadap upaya eksploitasi aktif yang menargetkan kedua celah, CVE-2026-109618 dan CVE-2026-109619.

Cloudflare juga melaporkan adanya lalu lintas serangan yang menyasar pelanggan mereka. Penyerang disebut mengubah muatan serangan atau payload untuk mencoba menghindari aturan firewall yang telah diterapkan. Aturan perlindungan Cloudflare sendiri telah diaktifkan secara default sejak pukul 03.02 UTC, sebelum patch PHP tersedia.

Meski demikian, hingga laporan tersebut diperbarui, belum ada sumber yang mengonfirmasi keberhasilan penyusupan pada server tertentu.

Sebelumnya, watchTowr melaporkan belum menemukan eksploitasi di dunia nyata ketika menyampaikan pembaruan pada pukul 11.26 UTC. Pada waktu itu, kedua celah juga belum tercantum dalam katalog Known Exploited Vulnerabilities milik CISA.

Sejumlah organisasi bahkan memilih menonaktifkan layanan untuk sementara sebagai langkah pencegahan. BambooHR, misalnya, menonaktifkan layanannya di Amerika Serikat, Kanada, dan Irlandia serta memperingatkan kemungkinan gangguan terhadap proses penggajian.

Di Belanda, layanan MijnOverheid, DigiD, situs majelis rendah parlemen, pusat keamanan siber nasional, dan sejumlah sistem pendidikan juga dilaporkan tidak dapat diakses. Meski demikian, pusat keamanan siber nasional Belanda menyatakan belum melihat bukti bahwa celah tersebut telah disalahgunakan.

 

Kebocoran Informasi Mempercepat Rilis Patch

Pembaruan keamanan PHP2Shell semula direncanakan diumumkan pada 22 Oktober 2026. Namun, informasi mengenai dua celah RCE tersebut bocor sehari sebelumnya dan mendorong PHP mempercepat peluncuran perbaikan.

Pada 20 Oktober, sebuah unggahan di Hacker News menyebutkan bahwa kedua kerentanan akan diungkap pada 22 Oktober. Informasi yang bocor juga menyertakan kedua identitas CVE, meskipun belum disertai penjelasan resmi yang lengkap.

PHP kemudian menerbitkan pemberitahuan awal dan memajukan jadwal rilis menjadi 21 Oktober. Skor CVSS 10,0 yang sempat beredar dalam informasi kebocoran juga bukan penilaian resmi PHP. Tim PHP menetapkan skor kedua celah sebesar 9,2.

Proses pengungkapan terkoordinasi turut mengalami gangguan setelah perusahaan riset Calif secara tidak sengaja mengunggah video yang memperlihatkan bukti konsep eksploitasi yang berfungsi pada 20 Oktober sekitar pukul 20.00 UTC.

Pada 21 Oktober pukul 07.41 UTC, sekitar enam jam sebelum patch dirilis, penyedia keamanan Chainguard juga menerbitkan citra perangkat lunak yang telah berisi perbaikan. Hal tersebut memungkinkan pihak lain mempelajari perubahan kode sebelum seluruh pengguna sempat memperbarui sistem mereka.

 

Celah Lama Ditemukan Kembali dengan Bantuan AI

Salah satu aspek penting dari kasus PHP2Shell adalah usia kode yang menjadi sumber masalah. Menurut para peneliti, kode rentan tersebut telah berada di dalam PHP selama lebih dari satu dekade.

PHP Foundation mengungkapkan bahwa audit eksternal pada 2024 sebenarnya telah menemukan indikasi awal celah kehabisan memori yang berkaitan dengan CVE-2026-109618. Namun, saat itu tim belum menemukan jalur konkret yang dapat digunakan untuk mencapai eksekusi kode.

Berbagai usulan perbaikan juga menghadapi risiko, mulai dari gangguan kompatibilitas, kemungkinan serangan denial-of-servicePHP Rilis Patch Darurat, Celah PHP2Shell Mulai Dieksploitasi (DoS), hingga kebutuhan mengubah ekstensi pihak ketiga. Keterbatasan personel dan kesulitan mencapai kesepakatan membuat proses perbaikan terhenti selama berbulan-bulan.

PHP Foundation menyebut keterlambatan tersebut sebagai "kegagalan struktural" dalam proses pengambilan keputusan dan pengelolaan sumber daya.

Laporan pada 2026 dari Calif, OpenAI, dan Wiz akhirnya membantu memperjelas dampak celah tersebut. Para peneliti menyatakan bahwa model AI membantu mengubah kerentanan lama menjadi eksploitasi yang berfungsi. Pekerjaan yang diperkirakan membutuhkan waktu berbulan-bulan bagi sebuah tim disebut dapat dilakukan seorang peneliti dalam waktu sekitar satu minggu.

Meski begitu, Calif menekankan bahwa pemahaman terhadap sejarah kode tetap penting. Model AI belum selalu mampu secara mandiri menemukan dan memanfaatkan mekanisme lama yang jarang diketahui, termasuk teknik yang berakar pada penelitian PHP pada 2004.

Setelah kasus ini terungkap, PHP Foundation menyatakan telah mengubah proses pengambilan keputusan terkait keamanan serta menambah personel dan perangkat pendukung untuk membantu mendeteksi masalah serupa lebih cepat.

Bagi administrator server dan pengelola situs web, langkah paling penting saat ini adalah memastikan versi PHP telah diperbarui, memulai ulang proses terkait, dan memeriksa log untuk mencari tanda-tanda aktivitas mencurigakan. Upaya eksploitasi telah dilaporkan, sehingga mengandalkan firewall atau perubahan konfigurasi saja tidak cukup untuk menggantikan pembaruan keamanan.

Bagikan artikel ini

Komentar ()

Video Terkait