PROLIFIK.ID - Dua kerentanan kritis pada mesin inti PHP yang dijuluki "PHP2Shell" diumumkan secara resmi pada 21 Oktober 2026, membuka celah eksekusi kode jarak jauh (Remote Code Execution/RCE) tanpa memerlukan autentikasi pada aplikasi web berbasis PHP yang belum ditambal. Kedua celah ini, yang tercatat sebagai CVE-2026-109618 dan CVE-2026-109619, mendapat skor keparahan 9,2 dari skala CVSS v4.0 10 dan diperkirakan berdampak pada sekitar 70 persen aplikasi serta situs yang terpasang di internet, mengingat posisi PHP sebagai salah satu bahasa pemrograman paling banyak digunakan untuk pengembangan web.
Dua Celah di Jantung Mesin PHP
Masalah terletak pada cara PHP mengelola memori saat menjalankan permintaan (request), bukan pada kesalahan kode aplikasi, sehingga sebuah situs bisa rentan meski kode yang dibuat pengembangnya sendiri tidak memiliki celah yang jelas.
CVE-2026-109618 muncul ketika PHP kehabisan memori (out-of-memory) di tengah pemrosesan permintaan. Dalam kondisi ini, PHP menghentikan paksa jalur kode yang sedang berjalan, namun sebagian data permintaan sempat dapat diakses sebelum selesai diinisialisasi sepenuhnya, sehingga proses pembersihan berikutnya memperlakukan data yang belum valid tersebut seolah-olah sah.
CVE-2026-109619 adalah celah use-after-free: status global milik satu permintaan (terkait sesi, objek, maupun proses serialisasi data) dapat tersimpan di memori meski datanya sudah dibebaskan sistem. Pekerja (worker) PHP yang sama lalu bisa memproses permintaan berikutnya menggunakan status basi tersebut sebelum inisialisasi normal mengatur ulang keadaannya.
Versi yang Terdampak dan yang Sudah Ditambal
Tim pengembang PHP telah merilis pembaruan darurat untuk kedua celah ini pada versi-versi cabang yang masih didukung. Semua versi di bawah angka berikut dianggap rentan:
- PHP 8.5 — aman mulai versi 8.5.12
- PHP 8.4 — aman mulai versi 8.4.27
- PHP 8.3 — aman mulai versi 8.3.36
- PHP 8.2 — aman mulai versi 8.2.35
- PHP 8.1 dan di bawahnya — berstatus end-of-life (EOL), tidak mendapat tambalan resmi
Untuk pengguna PHP 8.1 ke bawah, satu-satunya jalan yang direkomendasikan adalah melakukan migrasi penuh ke versi yang masih didukung, karena tim inti PHP sudah tidak lagi menerbitkan tambalan keamanan resmi untuk cabang tersebut.
Bocor Sebelum Jadwal, Industri Bergerak Cepat
Rincian teknis kedua celah ini sempat bocor dan beredar lebih awal dari jadwal pengungkapan terkoordinasi yang semula direncanakan, memaksa tim keamanan PHP mempercepat perilisan tambalan hanya dalam hitungan hari sejak pengumuman resmi. Lembaga keamanan siber Eropa, CERT-EU, telah menerbitkan imbauan agar aplikasi PHP yang terhubung ke internet diisolasi sebagai langkah pencegahan, sementara peneliti keamanan watchTowr melaporkan adanya aktivitas yang mengarah ke upaya eksploitasi pada jaringan honeypot global mereka.
Sejumlah penyedia layanan perlindungan web, termasuk Cloudflare dan Vercel, telah menerapkan aturan Web Application Firewall (WAF) untuk memblokir pola serangan PHP2Shell beberapa jam sebelum pengumuman publik dilakukan, berkat akses lebih awal melalui proses pengungkapan terkoordinasi. Meski demikian, belum ada laporan eksploitasi massal yang dikonfirmasi secara luas per akhir Oktober 2026.
Langkah Pengamanan
- Cek versi PHP yang berjalan melalui perintah php -v di server atau lewat panel hosting (cPanel, Plesk, dsb).
- Perbarui ke versi aman sesuai cabang yang dipakai (lihat tabel di atas), lalu restart layanan web server (Apache/Nginx) dan seluruh worker PHP-FPM agar status lama di memori benar-benar hilang.
- Jika masih memakai PHP 8.1 ke bawah, segera rencanakan migrasi ke versi yang didukung; tambalan resmi tidak akan diterbitkan untuk cabang EOL.
- Mitigasi sementara bila pembaruan belum bisa dilakukan hari itu juga (bukan pengganti tambalan):
- Untuk CVE-2026-109618: atur memory_limit=-1 secara administratif di seluruh pool/direktori, dan blokir permintaan multipart di sisi depan bila fitur tersebut tidak dipakai.
- Untuk CVE-2026-109619: nonaktifkan session.upload_progress.enabled lewat php.ini atau konfigurasi server (bukan lewat ini_set()), lalu restart seluruh worker.
- Jangan berasumsi apt upgrade otomatis menambal celah ini — distribusi Linux terkadang melakukan backport tambalan tanpa mengubah nomor versi PHP yang tertampil, sehingga versi tetap perlu diperiksa langsung melalui perilaku yang ditambal, bukan sekadar nomor versi.
Dengan cakupan dampak yang luas dan sifat serangan yang tidak memerlukan autentikasi, pengelola situs dan aplikasi berbasis PHP sebaiknya segera mengecek versi PHP yang mereka pakai dan menambalnya sebelum celah ini dieksploitasi lebih jauh. Memeriksa versi hanya butuh beberapa menit, jauh lebih murah dibanding memulihkan server yang sudah diambil alih.
Komentar 0
Belum ada komentar. Jadilah yang pertama menanggapi berita ini.
Tulis komentar