Miniwebby Arcelion Semua artikel

Analisis Kerentanan Kritis PHP2Shell dan Panduan Patch Darurat Runtime Server

Bedah teknis celah RCE CVE-2026-109618 dan CVE-2026-109619 pada runtime PHP serta langkah verifikasi patch pada web server.

2026-10-234 menit bacaTim Miniweb

Analisis Kerentanan Kritis PHP2Shell dan Panduan Patch Darurat Runtime Server

Tim pengembang inti PHP merilis pembaruan darurat di luar jadwal rilis reguler untuk mengatasi dua kerentanan eksekusi kode jarak jauh tanpa autentikasi, yang dikenal sebagai PHP2Shell dengan penomoran CVE-2026-109618 dan CVE-2026-109619. Kedua celah ini mengeksploitasi cacat alokasi memori internal pada interpreter PHP sebelum logika aplikasi diproses, sehingga memberikan celah kendali penuh atas server web kepada penyerang jarak jauh.

Anatomi Kerentanan CVE-2026-109618 dan CVE-2026-109619

Penyelidikan teknis menunjukkan bahwa kelemahan ini bukan berada di tingkat pustaka pihak ketiga atau modul tambahan, melainkan tertanam langsung pada inti runtime PHP. Eksploitasi dapat terjadi melalui permintaan HTTP standar yang dirancang secara khusus untuk memicu ketidaksinkronan alokasi memori pada proses backend.

Kerusakan Struktur Memori Zend Engine (CVE-2026-109618)

Celah pertama berakar pada kegagalan penanganan alokasi memori internal selama inisialisasi lingkungan eksekusi permintaan. Ketika ukuran muatan HTTP tertentu dikirimkan, alokator Zend Engine gagal memulihkan pointer memori secara benar saat terjadi lonjakan alokasi. Penyerang memanfaatkan kondisi ini untuk menimpa tabel fungsi internal dalam struktur memori proses PHP, mengalihkan alur eksekusi, dan menjalankan perintah arbitrer pada sistem operasi induk.

Residu Status Global pada Worker Pool (CVE-2026-109619)

Celah kedua secara spesifik memengaruhi lingkungan produksi yang memanfaatkan worker persisten seperti PHP-FPM. Ketika sebuah permintaan mengalami kegagalan fatal saat alokasi buffer, worker tidak membersihkan pointer memori dari permintaan sebelumnya secara tuntas. Residu pointer yang tertinggal memicu kondisi penggunaan memori pasca-bebas pada permintaan berikutnya, memungkinkan penyerang menyuntikkan muatan kode berbahaya melalui header HTTP tanpa melewati tahap validasi skrip aplikasi.

Penting

Memperbarui framework aplikasi seperti Laravel atau Symfony tidak menutup celah ini. Kerentanan PHP2Shell terjadi di tingkat biner runtime interpreter sebelum kode skrip aplikasi Anda mulai dieksekusi oleh server.

Matriks Versi Terdampak dan Tingkat Risiko

Seluruh cabang aktif PHP yang dirilis sebelum patch darurat rentan terhadap eksploitasi ini. Administrator sistem wajib memverifikasi versi biner yang terpasang pada setiap kluster server produksi.

Cabang RilisVersi TerdampakVersi Patch MinimalStatus Penanganan
PHP 8.58.5.0 hingga 8.5.118.5.12Patch resmi tersedia
PHP 8.48.4.0 hingga 8.4.268.4.27Patch resmi tersedia
PHP 8.38.3.0 hingga 8.3.358.3.36Patch resmi tersedia
PHP 8.28.2.0 hingga 8.2.348.2.35Patch resmi tersedia
PHP 8.1 ke bawahSeluruh versiTidak ada patchKedaluwarsa teknis

CVSS 9.2

Tingkat keparahan kritis

Skor basis kerentanan PHP2Shell untuk kategori Remote Code Execution tanpa autentikasi

Langkah Remediasi dan Verifikasi Runtime Server

Pembaruan paket biner harus diikuti dengan verifikasi menyeluruh terhadap service daemon yang sedang berjalan aktif di memori server.

Memperbarui Paket Interpreter Biner

Jalankan pembaruan paket melalui repositori resmi distribusi Linux yang digunakan. Pastikan repositori upstream telah disinkronkan sebelum mengeksekusi instalasi biner baru.

scripts/update-php-runtime.shsh
# Pembaruan paket pada distribusi Debian atau Ubuntu
sudo apt update
sudo apt --only-upgrade install php8.4-fpm php8.4-cli php8.4-common

# Verifikasi versi biner interpreter CLI
php -v

Memeriksa dan Memuat Ulang Service PHP-FPM

Banyak tim operasional hanya mengecek keluaran perintah php -v di terminal tanpa menyadari bahwa daemon PHP-FPM masih menjalankan file biner lama di dalam memori.

scripts/restart-fpm-service.shsh
# Periksa versi proses PHP-FPM yang aktif
php-fpm8.4 -v

# Muat ulang service FPM dan web server
sudo systemctl restart php8.4-fpm
sudo systemctl reload nginx

Peringatan

Mengabaikan pemuatan ulang service PHP-FPM membuat server tetap rentan meskipun paket sistem operasi telah diperbarui. Proses worker yang berjalan di memori harus dimuat ulang agar biner baru diterapkan secara efektif.

Tindakan Mitigasi Sementara Jika Patch Tertunda

Bagi infrastruktur yang belum dapat menerapkan pembaruan seketika karena pengujian dependensi lingkungan, terapkan isolasi jaringan dan pembatasan lapisan gerbang terdepan.

Rincian konfigurasi isolasi sementara

Langkah pengamanan sementara yang dapat diterapkan mencakup:

  • Batasi akses ke port FastCGI hanya untuk alamat loopback lokal atau IP reverse proxy terpercaya.
  • Turunkan nilai batas ukuran request body pada reverse proxy untuk menekan pengiriman payload berukuran tidak wajar.
  • Terapkan inspeksi lalu lintas pada Web Application Firewall untuk menyaring karakter malformed pada header permintaan.

Langkah mitigasi ini hanya mempersempit bidang serangan dan tidak menggantikan kewajiban instalasi patch resmi.

Lakukan audit berkala pada seluruh node server Anda untuk memastikan lingkungan produksi berstatus Patch Aktif dan terlindung dari pemindaian otomatis di jaringan publik.

Periksa pengumuman rilis PHP Foundation

Unduh catatan rilis lengkap dan berkas biner patch resmi langsung dari dokumentasi PHP.

Buka rilis resmi

Kembali ke indeks blog