BISNAT Bitter Indo Sisnatama
← Kembali ke Daftar Artikel

PHP2Shell: Cara Memeriksa Versi PHP dan Menangani Risikonya

22 October 2026 | Tech | bisnat-info

Ditinjau 22 Oktober 2026. PHP2Shell adalah nama yang dipakai untuk dua kerentanan kritis di runtime PHP.


Keduanya dapat membuka jalan ke eksekusi kode jarak jauh tanpa autentikasi, sehingga pemilik website perlu memeriksa PHP yang benar-benar melayani trafik dan memasang pembaruan dari vendor.



Apa itu PHP2Shell?

PHP2Shell bukan nama plugin, CMS, atau satu program berbahaya.


Istilah ini merujuk pada CVE-2026-109618 dan CVE-2026-109619, dua kelemahan pada inti PHP yang diumumkan pada 21 Oktober 2026.


Keduanya mendapat tingkat Critical dengan skor CVSS 4.0 sebesar 9,2.


CVE-2026-109618 berkaitan dengan penanganan out-of-memory. Pada jalur tertentu, PHP dapat keluar dari proses penanganan request ketika sebagian data internal belum siap, proses pembersihan request kemudian berisiko memakai state yang tidak valid.


CVE-2026-109619 berkaitan dengan state internal milik satu request yang masih menunjuk ke memori yang sudah dibebaskan.


Jika worker yang sama menangani request berikutnya sebelum state itu direset, operasi lain dapat memakai rujukan usang tersebut.



CVEMasalah intiDampak yang dikonfirmasi
CVE-2026-109618State request saat kondisi kehabisan memoriEksekusi kode jarak jauh
CVE-2026-109619State lama masih merujuk memori request yang sudah dibebaskanEksekusi kode jarak jauh

Ilustrasi state memori di dalam runtime server PHP.



Siapa yang perlu memeriksa servernya?

Peringatan PHP mencakup instalasi yang melayani request web, termasuk PHP-FPM, Apache mod_php, php-cgi, FrankenPHP, dan LiteSpeed.


Tim PHP menyebut mod_php sebagai jalur dengan risiko tertinggi pada demonstrasi yang tervalidasi, karena request dapat mencapai kondisi berbahaya sebelum kode aplikasi berjalan. SAPI, build, ekstensi, konfigurasi, dan cara aplikasi menerima request memengaruhi jalur serta keandalan eksploitasi.


Karena kelemahannya berada di runtime, memperbarui WordPress, framework, plugin, atau tema saja tidak memperbaiki PHP yang berjalan di server. Periksa versi pada setiap host, container, image, panel hosting, dan perangkat yang membundel PHP.


Jika penyedia hosting mengelola runtime, minta konfirmasi versi patch untuk setiap layanan web yang Anda gunakan.



Versi PHP mana yang sudah diperbaiki?

PHP merilis pembaruan keamanan pada 21 Oktober 2026. Untuk cabang yang masih menerima rilis upstream, gunakan setidaknya versi berikut atau rilis pemeliharaan yang lebih baru pada cabang yang sama.



Pembaruan runtime PHP harus diterapkan pada server yang menjalankan website.



Cabang PHPVersi minimum yang membawa perbaikan
8.28.2.35
8.38.3.36
8.48.4.27
8.58.5.12


PHP 8.1 dan versi yang lebih lama sudah tidak menerima pembaruan keamanan dari proyek PHP.


Sejumlah distribusi Linux dan vendor dukungan jangka panjang mungkin menyediakan backport; pastikan paket tersebut benar-benar memuat perbaikan CVE ini.


PHP juga menyediakan backport sumber minimal untuk beberapa cabang lama. Untuk PHP 8.2, rencanakan peningkatan cabang karena dukungannya berakhir pada 31 Desember 2026.



Checklist untuk pemilik website

Gunakan urutan ini agar pembaruan tidak berhenti pada versi PHP yang terlihat di satu komputer: Inventaris semua runtime PHP yang menerima trafik: server utama dan cadangan, PHP-FPM atau mod_php, container dan image aplikasi, serta appliance atau panel yang membundel PHP.


Terapkan versi perbaikan dari PHP, distribusi, atau vendor produk.


Untuk container, perbarui image lalu bangun dan deploy ulang layanan.

  1. Restart atau daur ulang worker PHP agar proses lama tidak terus melayani request dengan kode yang belum diperbaiki.

  2. Verifikasi versi pada SAPI yang melayani website. Versi perintah PHP CLI dapat berbeda dari versi PHP-FPM atau modul web server.

  3. Jika memakai hosting terkelola, minta penyedia menjelaskan cabang dan paket yang sudah diperbaiki serta layanan mana saja yang sudah direstart.


Inventarisasi PHP pada server, container, dan perangkat yang membundel runtime.



Jika belum bisa memasang patch

Pembaruan runtime adalah perbaikan lengkap. Advisori PHP menyebut sejumlah pengaturan sementara yang dapat mengurangi jalur serangan tertentu, tetapi pengaturan itu tidak membuat server aman dan tidak menggantikan patch.


Perubahan seperti batas memori dan ukuran request dapat berdampak pada ketersediaan aplikasi, jadi minta administrator server menilai konfigurasi dan uji perubahan sebelum diterapkan.


  • Untuk CVE-2026-109619, PHP menyarankan menonaktifkan session.upload_progress.enabled pada konfigurasi server atau pool sebelum request diproses, lalu merestart semua worker. Jangan mengandalkan ini melalui ini_set() atau .user.ini.

  • Khusus PHP 8.5, fatal_error_backtraces=0 memblokir jalur fatal-backtrace yang dikonfirmasi; worker tetap perlu direstart.

  • Untuk CVE-2026-109618, PHP membahas memory_limit=-1 yang dipaksakan oleh administrator untuk menghilangkan batas per-request yang dapat dipicu. Ini bukan mitigasi lengkap dan perlu batas memori pada container atau sistem operasi serta pengujian dampaknya.

  • Batasi ukuran body dan bagian multipart pada proxy atau web server bila sesuai kebutuhan aplikasi. Pembatasan tersebut mengurangi beberapa kondisi pemicu, tetapi bukan pengganti pembaruan.



Jika ada tanda kompromi

Memasang patch tidak membuktikan bahwa server sebelumnya tidak ditembus.


Jika menemukan file, akun, proses, atau perubahan yang tidak dikenal, simpan log dan bukti yang relevan, hubungi penyedia hosting atau tim respons insiden, lalu ikuti prosedur isolasi yang sesuai.


Ganti kredensial dari perangkat atau lingkungan yang bersih setelah akses awal diamankan.



Intinya

PHP2Shell menyerang lapisan runtime PHP, bukan hanya kode aplikasi. Pastikan setiap runtime web memakai paket yang sudah diperbaiki, restart worker, dan cek versi yang benar-benar dipakai setiap layanan.


Mitigasi sementara dapat membantu mengurangi risiko tertentu, tetapi patch dari PHP atau vendor tetap menjadi langkah utama.



Rujukan

Komentar Pembaca

Belum ada komentar. Jadilah yang pertama berdiskusi!

Tinggalkan Komentar

Anda harus login untuk dapat berpartisipasi dalam diskusi.

Login Untuk Mengirim Komentar