Loading...

Peringatan Ancaman

PHP2Shell: Kerentanan Kritis RCE pada PHP CVE-2026-109618 & CVE-2026-109619
Peringatan Ancaman • Pengarang : RTW • 22 Okt 2026 10:26

Tim pengembang PHP merilis security update pada 21 Oktober 2026 untuk mengatasi dua kerentanan kritis, yaitu CVE-2026-109618 dan CVE-2026-109619. Berdasarkan PHP Security Advisory, kedua kerentanan tersebut dapat memungkinkan Remote Code Execution (RCE), yaitu eksekusi kode dari jarak jauh, tanpa mengharuskan penyerang memiliki akun atau melakukan autentikasi. The PHP Foundation mendesak pengelola sistem untuk segera memasang pembaruan. The PHP Foundation

Kedua kerentanan ini dikenal sebagai PHP2Shell dan masing-masing memiliki skor CVSS v4.0 sebesar 9,2, dengan tingkat keparahan Critical. Datadog Security Labs

Bagaimana Kerentanan Ini Bekerja?

Pada CVE-2026-109618, penyerang dapat mengirimkan HTTP request yang dirancang khusus untuk memicu kondisi out-of-memory (OOM) ketika PHP sedang memproses input. Masalah terjadi karena mekanisme penanganan OOM dapat menghentikan proses secara mendadak saat struktur data internal belum selesai diinisialisasi. Ketika PHP menjalankan request cleanup, struktur yang belum valid tersebut tetap dapat dibaca atau diproses seolah-olah sudah siap digunakan. Kondisi ini menyebabkan memory corruption yang, dalam kondisi eksploitasi tertentu, dapat dimanfaatkan untuk mengubah alur eksekusi dan menjalankan kode penyerang. Pada jalur Apache mod_php yang telah didemonstrasikan, proses tersebut dapat terjadi sebelum kode aplikasi dijalankan sehingga tidak memerlukan login ke aplikasi. GitHub

Sementara itu, CVE-2026-109619 memanfaatkan stale global state, yaitu referensi internal PHP yang masih menunjuk ke memori milik request sebelumnya meskipun memori tersebut sudah dibebaskan. Kondisi ini dapat muncul ketika fatal error menghambat proses reset atau ketika penanganan error mengisi kembali state yang sebelumnya sudah dibersihkan. Saat worker yang sama memproses request berikutnya, sebagian operasi PHP dapat mengakses referensi tersebut sebelum inisialisasi normal meresetnya, sehingga terjadi use-after-free. Apabila penyerang berhasil mengatur isi dan tata letak memori yang digunakan kembali, akses terhadap referensi usang tersebut dapat dimanfaatkan untuk mengarahkan alur eksekusi menuju Remote Code Execution (RCE). Keberhasilan eksploitasi bergantung pada state yang terdampak, konfigurasi, dan jalur pemrosesan request yang tersedia. GitHub

Mengenal Dua Kerentanan PHP2Shell

CVE-2026-109618: RCE via OOM Corruption

Kerentanan ini berkaitan dengan penanganan kondisi out-of-memory (OOM) atau kegagalan alokasi memori. PHP dapat menghentikan pemrosesan ketika sebagian struktur data internal belum selesai diinisialisasi. Pada tahap request cleanup, data yang belum valid tersebut dapat kembali diproses dan menyebabkan memory corruption.

Dalam kondisi tertentu, penyerang dapat memanfaatkan masalah ini untuk menjalankan kode dari jarak jauh. Keberhasilan eksploitasi bergantung pada sejumlah faktor, termasuk PHP build, extension, dan konfigurasi lingkungan server. GitHub

CVE-2026-109619: RCE via Stale Global State

Kerentanan kedua terjadi ketika global state PHP masih merujuk pada memori milik request sebelumnya yang sudah dibebaskan. Request berikutnya yang diproses oleh worker yang sama dapat mengakses referensi tersebut sebelum proses inisialisasi menggantinya.

Kondisi ini dapat menyebabkan use-after-free, memory disclosure, dan RCE. Security advisory mencatat validasi RCE melalui jalur session lifecycle pada mod_php maupun PHP-FPM. Dengan demikian, PHP-FPM tidak boleh dianggap bebas risiko, meskipun jalur eksploitasi dan prasyaratnya dapat berbeda. GitHub

Versi PHP yang Terdampak dan Security Patch

Berikut rentang versi terdampak dan rilis pertama yang memuat security patch untuk empat cabang PHP yang masih didukung:

Cabang PHPAffected versionsPatched versionPHP 8.28.2.0–8.2.348.2.35PHP 8.38.3.0–8.3.358.3.36PHP 8.48.4.0–8.4.268.4.27PHP 8.58.5.0–8.5.118.5.12

Rentang tersebut berlaku untuk rilis upstream yang belum menerima patch. Kedua kerentanan memiliki patched version yang sama pada masing-masing cabang. GitHub

Untuk paket distribusi Linux, periksa vendor security advisory. Vendor dapat menerapkan backport, yaitu memasukkan perbaikan keamanan tanpa mengubah nomor versi dasar upstream. Karena itu, nomor versi saja tidak selalu cukup untuk menentukan status kerentanan. Datadog Security Labs

PHP 8.1 dan versi lebih lama sudah berada di luar dukungan rutin proyek PHP. Mengingat tingkat keparahan masalah ini, PHP Security Team menyediakan minimal source backports untuk PHP 7.4, 8.0, dan 8.1. Patch tersebut tidak berarti dukungan rutin dipulihkan; pengelola tetap perlu memeriksa dukungan vendor atau bermigrasi ke versi yang didukung. PHP

Untuk lingkungan pengujian, perbaikan juga tersedia pada PHP 8.6.0 RC4. Namun, release candidate ini tidak direkomendasikan untuk production environment. PHP

Langkah Penanganan yang Direkomendasikan

1. Inventarisasi Seluruh PHP Runtime

Periksa PHP runtime yang benar-benar melayani aplikasi, termasuk container dan aplikasi yang membawa PHP interpreter sendiri. Jangan hanya mengandalkan php -v pada terminal karena versi PHP CLI dapat berbeda dari runtime web. Datadog Security Labs

2. Terapkan Security Update dan Verifikasi Deployment

Pasang pembaruan upstream atau paket vendor yang sudah memuat patch. Untuk deployment berbasis container, lakukan rebuild dan redeploy image yang terdampak. Restart atau ganti seluruh worker yang masih menjalankan runtime lama. Datadog Security Labs

3. Terapkan Temporary Mitigation Apabila Pembaruan Belum Memungkinkan

CERT-EU merekomendasikan agar organisasi mempertimbangkan isolasi aplikasi internet-facing dari jaringan publik sampai patch diterapkan dan diverifikasi. CERT-EU

Untuk jalur tertentu pada CVE-2026-109619, PHP Security Advisory memuat temporary mitigation berupa pengaturan session.upload_progress.enabled=0 dan, khusus PHP 8.5, fatal_error_backtraces=0, kemudian me-restart seluruh worker. Pengaturan harus diterapkan melalui konfigurasi yang aktif sebelum request parsing.

Pengaturan tersebut hanya mengurangi risiko pada jalur tertentu dan tidak menggantikan security patch untuk kedua kerentanan. PHP

4. Tingkatkan Monitoring dan Investigasi

Korelasikan form submission yang tidak lazim, memory exhaustion error pada log PHP, serta proses shell yang muncul dari web worker. Tidak ada satu indikator yang secara mandiri membuktikan eksploitasi. Sebaliknya, eksploitasi yang berhasil juga tidak selalu menyebabkan worker crash atau menghasilkan pesan error. Datadog Security Labs

Apabila ditemukan aktivitas mencurigakan, prioritaskan penyimpanan bukti log dan koordinasikan pemeriksaan dengan tim Security Operations Center (SOC) atau Computer Security Incident Response Team (CSIRT) sebelum menghapus file maupun membangun ulang sistem.

Jangan Menunda Pembaruan

CERT-EU menyampaikan bahwa detail teknis dan Proof of Concept (PoC) telah mulai beredar secara publik. Perkembangan ini memperkuat urgensi penanganan, meskipun keberadaan PoC tidak dengan sendirinya membuktikan bahwa setiap sistem rentan telah mengalami kompromi. CERT-EU

Pengelola sistem diimbau memprioritaskan pembaruan pada instalasi PHP yang terdampak. Tindakan utama untuk menutup kedua kerentanan ini adalah memasang security update yang sesuai; perubahan konfigurasi saja tidak memberikan perlindungan menyeluruh. PHP

Berita Lainnya