TERKINI - PHP merilis tambalan darurat untuk dua celah keamanan kritis PHP2Shell jenis RCE

PHP telah merilis pembaruan darurat yang memperbaiki dua kelemahan kritis dalam bahasa pemrograman itu sendiri, yang memungkinkan penyerang tanpa akun untuk menjalankan kode di server web. Perbaikan tersebut terdapat pada PHP 8.5.12, 8.4.27, 8.3.36, dan 8.2.35, dan tim PHP mengatakan bahwa hanya pembaruan yang sepenuhnya melindungi server.

PHP telah merilis pembaruan darurat yang memperbaiki dua kelemahan kritis dalam bahasa pemrograman itu sendiri, yang memungkinkan penyerang tanpa akun untuk menjalankan kode di server web. Perbaikan tersebut terdapat pada PHP 8.5.12, 8.4.27, 8.3.36, dan 8.2.35, dan tim PHP mengatakan bahwa hanya pembaruan yang sepenuhnya melindungi server.

Kerentanan tersebut, yang secara keseluruhan disebut PHP2Shell , berada di runtime PHP, bukan di aplikasi mana pun, sehingga situs tetap rentan meskipun kode situs itu sendiri aman. Risiko tertinggi terjadi pada server yang menggunakan mod_php Apache, di mana eksploitasi yang berfungsi memicu serangan sebelum kode aplikasi apa pun dijalankan.

Kedua celah keamanan tersebut diberi peringkat 9.2 pada skala CVSS v4.0 dan memiliki pengidentifikasi CVE-2026-109618 dan CVE-2026-109619 . PHP mempublikasikannya sekitar waktu rilis yang dijadwalkan pukul 14:00 UTC pada tanggal 21 Oktober, sehari setelah detailnya bocor menjelang pengungkapan yang direncanakan pada tanggal 22 Oktober.

Para peneliti di Wiz, California, dan OpenAI menemukan dan melaporkan celah keamanan tersebut, yang memengaruhi hampir setiap versi PHP mulai dari PHP 5.4.

Siapa yang Terdampak?

Setiap instalasi PHP yang melayani permintaan web berisiko, termasuk PHP-FPM, Apache mod_php, php-cgi, FrankenPHP, dan LiteSpeed, menurut pemberitahuan keamanan PHP .

Karena kelemahan tersebut terletak pada mesinnya dan bukan pada kode situs mana pun, bahkan halaman "Hello World" sederhana pada versi PHP yang rentan pun dapat diserang. Peringatan tersebut menyebutkan mod_php sebagai risiko tertinggi, dengan eksploitasi yang telah dibuktikan di mana satu permintaan yang tidak terautentikasi memicu serangan sebelum kode aplikasi apa pun berjalan. PHP-FPM berperilaku berbeda, karena ia mematikan worker ketika permintaan gagal di awal proses pengaturan.

Untuk salah satu dari dua celah keamanan tersebut, analisis PHP sendiri mendukung bahwa FPM rentan tetapi menyatakan bahwa belum ada eksploitasi FPM lengkap yang terbukti; celah keamanan kedua terbukti mencapai eksekusi kode pada mod_php dan PHP-FPM, meskipun jalur FPM di sana bergantung pada operasi di dalam aplikasi yang sedang berjalan.

Penyerang juga dapat membaca memori dari proses pekerja PHP, yang mungkin menyimpan kata sandi, token otentikasi, kunci API, dan sertifikat milik permintaan lain, tanpa terlebih dahulu mendapatkan hak eksekusi kode.

Para peneliti mendemonstrasikan pembacaan memori pekerja langsung ini terhadap aplikasi yang tidak mereka kendalikan, sehingga membuatnya independen dari aplikasi yang berjalan di atas PHP.

Apa yang perlu diinstal

Perbarui runtime PHP yang melayani permintaan web, lalu mulai ulang Apache, PHP-FPM, dan semua worker PHP yang berjalan lama. Memperbarui aplikasi seperti WordPress atau Laravel tidak memperbarui runtime PHP di bawahnya; itu berasal dari paket server, host, atau image container.

Cabang PHP

Rentan

Versi perbaikan pertama

8.5

di bawah 8.5.12

8.5.12

8.4

di bawah 8.4.27

8.4.27

8.3

di bawah 8.3.36

8.3.36

8.2

di bawah 8.2.35

8.2.35

PHP 8.1 dan versi yang lebih lama tidak lagi menerima pembaruan dari proyek PHP, dan PHP 8.2 mencapai akhir masa pakainya pada 31 Desember 2026. Untuk cabang yang lebih lama, tim keamanan PHP telah menerbitkan backport sumber untuk PHP 7.4 , 8.0 , dan 8.1 untuk membantu orang-orang yang membangun dari sumber atau menunggu vendor.

Distribusi Linux dan vendor dukungan jangka panjang telah menerima patch tersebut lebih dulu, sehingga paket distribusi dapat menyertakan perbaikan tersebut dengan nomor versi yang tampak lama; periksa changelog paket untuk CVE, seperti yang disarankan Debian , bukan string versinya.

Jika Anda Belum Dapat Memperbarui

Hanya pembaruan yang merupakan solusi lengkap. Langkah-langkah di bawah ini mengurangi paparan terhadap jalur serangan tertentu dan tidak membuat server aman, menurut pemberitahuan tersebut.

Untuk CVE-2026-109618, atur memory_limit=-1 agar aplikasi tidak dapat menimpanya, jaga agar post_max_size tetap rendah, dan terapkan batasan ukuran permintaan di server web atau proxy. Jangan gunakan RLIMIT_AS atau RLIMIT_DATA sebagai pengganti, karena PHP memperingatkan bahwa keduanya dapat memicu jalur kerentanan yang sama.

Untuk CVE-2026-109619, atur session.upload_progress.enabled=0 dan mulai ulang setiap worker, dan pada PHP 8.5 juga atur fatal_error_backtraces=0. Menonaktifkan kemajuan unggahan sesi memblokir jalur sesi yang dikonfirmasi tetapi tidak varian lain, dan tidak ada perubahan konfigurasi yang sepenuhnya mengurangi kelemahan ini kecuali dengan melakukan pembaruan.

Pengaturan tersebut adalah pengaturan yang beredar sebagai solusi sementara sebelum patch , dan rilis tersebut mengkonfirmasi bahwa itu bukanlah perbaikan yang lengkap. Kemajuan unggahan sesi diaktifkan secara default dan dapat mencapai penanganan sesi sebelum PHP selesai menyiapkan permintaan, itulah sebabnya mengapa hal itu berperan dalam salah satu jalur serangan yang dikonfirmasi untuk CVE-2026-109619 dan mengapa menonaktifkannya tidak berpengaruh pada CVE-2026-109618.

"Satu-satunya yang bisa saya katakan adalah satu-satunya solusi adalah dengan melakukan patching/upgrade PHP. Sayangnya, saya tahu terlalu banyak," tulis pengembang inti PHP, Gina Peter Banyard, sebelum rilis tersebut, menanggapi seseorang yang menyarankan pengaturan tersebut mungkin sudah cukup.

Setelah melakukan pembaruan, tinjau pengaturan memori Anda. Perbaikan ini menambahkan batas memori keras baru, dan jika batas tersebut tercapai, proses akan berakhir dan penanganan penutupan akan berhenti berjalan, jadi periksa `memory_limit` dan `post_max_size` sesuai dengan kebutuhan aplikasi Anda.

Jika Anda sudah melakukan patching tetapi mencurigai adanya pembobolan sebelumnya, para peneliti menyarankan untuk memperhatikan permintaan multipart yang tidak biasa diikuti oleh kesalahan batas memori atau respons HTTP 500 yang berulang, cookie respons PHPSESSID yang sangat besar, dan restart pekerja PHP yang tidak dapat dijelaskan.

Apakah sedang diserang?

Sebelum patch dirilis, Cloudflare mengatakan pihaknya melihat upaya awal untuk mengeksploitasi celah keamanan tersebut. "Kami melihat serangan awal muncul dan sedang memperbarui mitigasi seiring munculnya vektor baru," kata CTO Cloudflare, Dane Knecht , menyebut aturan firewall yang diterapkan Cloudflare sebagai solusi sementara dan mendesak administrator untuk melakukan patch.

Tidak ada sumber yang mengkonfirmasi keberhasilan pembobolan. watchTowr , yang mereproduksi CVE-2026-109618, melaporkan tidak ada eksploitasi di lapangan hingga pukul 11:26 UTC pada 21 Oktober, dan tidak ada celah keamanan yang tercantum dalam katalog Kerentanan yang Dieksploitasi milik CISA pada saat itu.

Beberapa organisasi menonaktifkan layanan sebagai tindakan pencegahan, bukan sebagai respons terhadap serangan siber. BambooHR menonaktifkan layanannya di seluruh Amerika Serikat, Kanada, dan Irlandia, memperingatkan bahwa penggajian akan terganggu, dan mengatakan bahwa mereka belum memiliki perkiraan waktu pemulihan.

Di Belanda, MijnOverheid, DigiD, situs majelis rendah parlemen, pusat keamanan siber nasional, dan beberapa sistem pendidikan mengalami gangguan, seperti yang dilaporkan oleh stasiun televisi NOS ; pusat tersebut mengatakan bahwa mereka belum melihat celah keamanan tersebut disalahgunakan tetapi mendesak semua orang untuk melakukan perbaikan.

Bagaimana Hasilnya

Sebuah kebocoran mempercepat perilisan tersebut. Pada 20 Oktober, seperti yang dilaporkan oleh The Hacker News , sebuah postingan di Hacker News mengatakan bahwa dua celah keamanan eksekusi kode jarak jauh PHP, dengan dua pengenal CVE, dijadwalkan untuk diungkapkan pada 22 Oktober, hanya berdasarkan informasi tepercaya.

PHP memposting pemberitahuan awal pada malam itu dan memindahkan tanggal rilis ke 21 Oktober. Klaim kebocoran tentang skor CVSS 10.0 bukanlah dari PHP; PHP memberi peringkat kedua celah keamanan tersebut 9.2.

Kerentanan tersebut ditemukan oleh Wiz Research, California, dan tim Keamanan Codex dari OpenAI, yang bekerja sama dengan tim keamanan PHP dan tim Gemini dari Google untuk memperbaikinya. Kode dasarnya telah ada di PHP selama lebih dari satu dekade.

Para peneliti mengatakan bahwa model AI membantu mengubah kelemahan yang sudah lama ada ini menjadi celah keamanan yang berfungsi, memungkinkan seorang peneliti melakukan dalam waktu sekitar satu minggu apa yang menurut mereka akan memakan waktu berbulan-bulan bagi sebuah tim jika menggunakan metode lain.

Calif, yang menelusuri asal usul bug tersebut hingga penelitian PHP dari tahun 2004, mengatakan bahwa mengetahui sejarah target tetap penting, dan bahwa model saat ini tidak dapat diandalkan untuk memulai dari primitif yang sudah berusia dua puluh tahun dan tidak jelas dengan sendirinya.

Update: watchTowr Melaporkan Upaya Eksploitasi, Namun Belum Ada Konfirmasi Pembobolan

watchTowr, yang sebelumnya melaporkan tidak melihat adanya serangan, menyatakan dalam pemberitahuan baru pada pukul 14:19 UTC tanggal 21 Oktober bahwa mereka mengamati "upaya eksploitasi aktif" terhadap CVE-2026-109618 dan CVE-2026-109619. Cloudflare mengatakan mereka melihat lalu lintas serangan terhadap pelanggan mereka dan mengamati penyerang mengubah muatan mereka untuk melewati aturan firewall mereka, yang telah diaktifkan secara default pada pukul 03:02 UTC, sebelum patch tersebut. Hingga pembaruan ini, belum ada sumber yang melaporkan pembobolan server tertentu yang terkonfirmasi.

PHP Foundation mengatakan pengungkapan terkoordinasi tersebut berantakan sebelum rilis. Sekitar pukul 20:00 UTC pada tanggal 20 Oktober, perusahaan riset Calif secara keliru memposting video bukti konsep yang sedang berjalan, dan pada pukul 07:41 UTC pada tanggal 21 Oktober, sekitar enam jam sebelum perbaikan dirilis, vendor Chainguard menerbitkan image yang berisi patch tersebut, memungkinkan siapa pun untuk mempelajari perbaikan tersebut sementara pengguna lain menunggu untuk memperbarui.

Update: PHP Foundation Menyatakan Audit Tahun 2024 Menemukan Tanda-Tanda Awal Cacat Tersebut

Dalam unggahan yang sama, PHP Foundation mengatakan bahwa seorang pengembang inti pertama kali menemukan tanda-tanda celah keamanan kehabisan memori di balik CVE-2026-109618 selama audit eksternal PHP tahun 2024, tetapi serangan yang berfungsi hanya berupa teori dan tidak ada jalur konkret untuk eksekusi kode yang ditemukan saat itu.

Berbagai solusi yang saling bersaing berisiko merusak kompatibilitas, membuka jalur penolakan layanan (denial-of-service), atau memaksa perubahan pada ekstensi pihak ketiga, dan tim kecil kesulitan mencapai kesepakatan, sehingga pengerjaan solusi terhenti selama berbulan-bulan. Yayasan tersebut menyebut penundaan itu sebagai "kegagalan struktural" dalam proses pengambilan keputusan dan sumber dayanya.

Laporan tahun 2026 dari Calif, OpenAI, dan Wiz, yang menggunakan alat AI, menetapkan celah keamanan yang berfungsi dan memperjelas dampak penuh dari kelemahan tersebut, serta memprioritaskan perbaikannya. Yayasan tersebut mengatakan bahwa sejak saat itu mereka telah mengubah cara pengambilan keputusan keamanan dan menambah staf serta perangkat untuk mendeteksi masalah serupa lebih cepat.

(Berita ini diperbarui setelah dipublikasikan pada 21 Oktober 2026, untuk menambahkan laporan-laporan selanjutnya tentang upaya eksploitasi dan penjelasan dari PHP Foundation mengenai sejarah celah keamanan tersebut.)

 

Berikan Komentar
Silakan tulis komentar dalam formulir berikut ini (Gunakan bahasa yang santun). Komentar akan ditampilkan setelah disetujui oleh Admin
Dapatkan full source code Asli
LINK TERKAIT