PHP2Shell Guncang Inti Runtime PHP: Dua Celah Kritis CVSS 9.2 Picu RCE Tanpa Autentikasi

softwareSumber Primer

Tim pengembang inti PHP merilis pembaruan darurat untuk menambal dua kerentanan memori kritis (CVE-2026-109618 & CVE-2026-109619) bertajuk PHP2Shell. Celah ini menyerang lapisan runtime Zend Engine di level C sebelum kode aplikasi dieksekusi, mendesak pembaruan menyeluruh pada web server dan container global.

tv
Redaksi tveniu
Divisi Analisis & Riset
PHP2Shell Guncang Inti Runtime PHP: Dua Celah Kritis CVSS 9.2 Picu RCE Tanpa Autentikasi

Tim keamanan resmi PHP (PHP Project Security Team) secara mendesak merilis paket pembaruan darurat (out-of-band security releases) pada 21 Oktober 2026 menyusul ditemukannya dua kerentanan eksekusi kode jarak jauh (Remote Code Execution / RCE) berstatus kritis pada inti runtime bahasa tersebut. Celah keamanan yang dijuluki oleh komunitas peneliti sebagai 'PHP2Shell' ini masing-masing diberi skor keparahan maksimal CVSS v4.0 sebesar 9.2 (Critical).

Berbeda dengan celah keamanan berbasis web pada umumnya yang berakar pada kesalahan logika kode aplikasi atau kerentanan plugin (seperti SQL Injection atau Local File Inclusion pada WordPress atau Laravel), PHP2Shell menyerang secara langsung lapisan internal alokasi memori Zend Engine yang ditulis dalam bahasa C. Akibatnya, eksploitasi dapat berlangsung pada tingkat web server tanpa memerlukan proses autentikasi apa pun.

Anatomi Teknis Dua Celah Inti: Korupsi OOM dan Stale Global State

Dua celah utama yang diidentifikasi oleh tim proyek PHP menyerang siklus hidup permintaan HTTP (request lifecycle) pada titik-titik krusial:

Poin Kunci & Temuan
  • CVE-2026-109618 (OOM Memory Corruption): Kegagalan alokasi memori (Out-Of-Memory) yang dipicu oleh paket header HTTP atau payload terfragmentasi dapat menyebabkan mekanisme penanganan error zend_bailout() gagal membersihkan struktur internal request secara sempurna. Keadaan memori yang tidak valid ini meninggalkan pointer menggantung yang dapat dimanipulasi penyerang untuk mengalihkan alur eksekusi proses web ke shell arbitrary.
  • CVE-2026-109619 (Stale Global State / Use-After-Free): State internal pada alokator global PHP dapat tetap menunjuk ke memori request yang sudah dibebaskan (deallocated) pasca-eksekusi siklus request_shutdown. Pada proses pekerja (worker) yang berumur panjang, kondisi use-after-free ini memicu kebocoran memori sensitif lintas sesi pengguna dan memungkinkan penyerang menyuntikkan payload eksekusi pada request berikutnya.

Implikasi Luas pada SAPI: Mengapa Apache mod_php Memiliki Risiko Paling Akut

Kerentanan ini berdampak pada seluruh arsitektur Server API (SAPI) populer yang melayani lalu lintas HTTP publik, termasuk PHP-FPM, Apache mod_php, FastCGI (php-cgi), LiteSpeed, hingga runtime modern berbasis Go seperti FrankenPHP. Namun, tim keamanan PHP dan agensi siber internasional (termasuk Google Cloud Security dan NHS England Cyber Alerts) memperingatkan bahwa instalasi berbasis Apache mod_php menghadapi ancaman paling berbahaya.

Pada arsitektur mod_php, interpreter PHP berjalan langsung di dalam ruang alamat memori proses pekerja Apache. Peneliti keamanan telah berhasil mendemonstrasikan bukti konsep (Proof of Concept / PoC) yang membuktikan bahwa eksploitasi RCE dapat tereksekusi pada tahap parsing request HTTP sebelum berkas PHP aplikasi (seperti index.php pada Drupal atau WordPress) sempat dimuat dan dijalankan. Hal ini membuat aturan Web Application Firewall (WAF) berbasis filter URL konvensional tidak mampu menjamin pencegahan secara andal.

Versi Terdampak dan Panduan Minimum Rilis Tambalan

Pembaruan resmi telah digulirkan untuk seluruh cabang aktif yang masih didukung oleh proyek PHP. Tim DevOps dan administrator infrastruktur diwajibkan segera memutakhirkan runtime ke versi perbaikan minimum berikut:

Poin Kunci & Temuan
  • PHP 8.5: Rentan pada seluruh versi sebelum 8.5.12 → Perbarui ke minimal 8.5.12
  • PHP 8.4: Rentan pada seluruh versi sebelum 8.4.27 → Perbarui ke minimal 8.4.27
  • PHP 8.3: Rentan pada seluruh versi sebelum 8.3.36 → Perbarui ke minimal 8.3.36
  • PHP 8.2: Rentan pada seluruh versi sebelum 8.2.35 → Perbarui ke minimal 8.2.35 (mendekati jadwal EOL 31 Desember 2026)
  • PHP 8.1 dan Versi Lama: Berstatus End-of-Life (EOL) di proyek upstream namun tetap rentan; wajib segera dimigrasikan ke cabang modern atau menggunakan patch backport resmi dari repositori vendor OS LTS (seperti Ubuntu ESM, RHEL, atau Debian Extended LTS).

Prosedur Mitigasi SRE: Menghindari Jebakan 'php -v'

Google Cloud Security dan tim arsitektur infrastruktur memberikan catatan kritis bagi teknisi sistem: perintah verifikasi sederhana 'php -v' pada terminal hanya membaca binary CLI, yang sering kali berbeda dari runtime yang benar-benar dipakai oleh master process PHP-FPM atau modul web server. Selain itu, distribusi Linux (seperti Debian atau Ubuntu) sering menyematkan tambalan keamanan melalui mekanisme 'security backport' tanpa mengubah nomor versi mayor ke minor rilis upstream.

SRE wajib memeriksa versi paket manajer riil (misalnya melalui dpkg -l | grep php atau rpm -qa | grep php) dan mencocokkannya dengan buletin resmi vendor distribusi. Setelah paket diperbarui, seluruh master process dan pool worker PHP-FPM, Apache, maupun container Docker wajib di-restart atau di-deploy ulang (rolling restart) agar pustaka bersama (.so) lama yang masih berada di memori aktif sistem benar-benar digantikan.

bash
# 1. Verifikasi versi CLI vs Web Runtime
php -v
php-fpm -v

# 2. Periksa versi paket distribusi (Debian/Ubuntu)
dpkg -l | grep -E class="text-[#7ee787]">'php8\.[2-5]'

# 3. Restart layanan web dan runtime pool secara menyeluruh
sudo systemctl restart php8.3-fpm
sudo systemctl reload nginx
# Atau pada lingkungan Apache mod_php:
sudo systemctl restart apache2

# 4. Pada klaster Kubernetes / Container:
kubectl rollout restart deployment/php-backend-app

“Tidak ada mitigasi sementara atau aturan WAF yang sepenuhnya menggantikan penambalan runtime di tingkat binary. Mengingat PHP menjalankan lebih dari 75% website di internet, kegagalan memperbarui runtime sebelum PoC dieksploitasi massal oleh botnet otomatis merupakan risiko operasional yang tidak dapat ditoleransi.”

Pernyataan Peringatan Keamanan Infrastruktur Google Cloud & Tim Keamanan PHP

Dengan tersedianya rilis resmi di repositori PHP.net dan distribusi Linux arus utama, organisasi TI global diimbau menempatkan penambalan PHP2Shell pada prioritas P1 (darurat), dengan fokus utama pada seluruh instans publik yang terekspos langsung ke jaringan internet terbuka.

Rujukan & Sumber Primer

  1. PHP.net: Official Security Advisory on Core PHP Vulnerabilities (Oct 21, 2026)
  2. PHP Project GitHub Advisory: CVE-2026-109618 (OOM Memory Corruption)
  3. PHP Project GitHub Advisory: CVE-2026-109619 (Stale Global State Use-After-Free)
  4. Google Cloud Security: Responding to Core PHP Vulnerabilities (CVE-2026-109618 & CVE-2026-109619)
  5. NHS England Cyber Alert: Critical Vulnerabilities in PHP Runtime (PHP2Shell CC-4875)