php2shell (CVE-2026-109618 / 109619) tidak bisa dinilai dengan php -v: tempat nomor versi berbeda antara FPM, Docker, dan distro
Versi CLI vs. FPM, tag Docker, backport distro, dan hal yang perlu diperiksa di shared hosting

Halaman ini diterjemahkan oleh AI dari versi aslinya dalam bahasa Jepang. Jika ada perbedaan, versi yang berlaku adalah versi bahasa Jepang: 日本語
Jika PHP yang menangani permintaan web (PHP-FPM, mod_php Apache, php-cgi, FrankenPHP, LiteSpeed) lebih lama dari 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12, PHP tersebut terdampak CVE-2026-109618 dan CVE-2026-109619, yang dikenal sebagai php2shell. Perbaikannya adalah meningkatkan ke salah satu versi ini (atau, untuk paket distro, ke paket yang sudah diperbaiki) lalu me-restart prosesnya. Yang perlu Anda periksa bukan php -v lokal, melainkan “PHP yang benar-benar melayani web” dan “versi paket yang terpasang.”
Artikel ini berfokus pada empat tempat di mana penilaian berdasarkan nomor versi saja menghasilkan kesimpulan yang salah. Semua angka dan informasi status adalah per 2026-10-22, dan sumber tiap butir dicantumkan di bagian akhir.
Yang diketahui per 2026-10-22
| Butir | Keterangan |
|---|---|
| CVE | CVE-2026-109618 (GHSA-w8hw-w9fx-j79w) / CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp) |
| Tingkat keparahan | Keduanya bernilai CVSS v4.0 9.2 (Critical) dalam pengumuman PHP |
| Versi perbaikan | 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 (dirilis 2026-10-21) |
| Versi terdampak | Versi sebelum versi perbaikan di atas (menurut advisori GitHub) |
| Cakupan | Semua PHP yang menangani permintaan web. Pengumuman menyebut PHP-FPM, mod_php, php-cgi, FrankenPHP, dan LiteSpeed, dengan mod_php digambarkan berisiko tertinggi. Dalam advisori GitHub, eksploitasi telah didemonstrasikan untuk mod_php, sedangkan FPM dan FrankenPHP dicantumkan sebagai “belum didemonstrasikan” atau “bersyarat.” Belum didemonstrasikan bukan berarti aman, jadi tingkatkan ke versi perbaikan apa pun cara Anda menjalankan PHP |
| 8.1 dan sebelumnya | Tidak ada pembaruan dari proyek PHP. Backport sumber minimal telah dipublikasikan untuk 7.4 / 8.0 / 8.1, dan beberapa distro serta vendor LTS mungkin merilis perbaikan |
| 8.2 | Dukungan berakhir pada 2026-12-31 (menurut catatan rilis 8.2.35) |
Pengumuman PHP menyatakan bahwa “satu-satunya perbaikan yang lengkap adalah memperbarui.” Mitigasi untuk masa sebelum Anda bisa memperbarui dibahas di bagian akhir artikel ini.
Jebakan 1: php -v dan PHP yang melayani web bisa berbeda
php -v yang diketik lewat SSH menampilkan versi PHP CLI. Permintaan web ditangani oleh proses PHP-FPM atau mod_php yang dimuat ke Apache, yang merupakan binary dan paket terpisah. Jika Anda memasang PHP yang lebih baru hanya untuk CLI, menjalankan beberapa versi berdampingan, atau memiliki pool FPM yang menunjuk ke versi lain, sisi web bisa tetap lama meskipun php -v menampilkan versi perbaikan.
Ada beberapa cara untuk melihat versi sebenarnya di sisi web.
# FPM di Debian / Ubuntu (dinamai per versi)
php-fpm8.3 -v
# FPM pada keluarga RHEL
php-fpm -v
# Periksa apakah mod_php dimuat di Apache
apachectl -M | grep -i php
Cara paling andal adalah membuat PHP yang benar-benar berjalan lewat web melaporkan versinya sendiri. Letakkan file sementara dengan nama yang sulit ditebak, lalu hapus segera setelah selesai memeriksa.
<?php echo PHP_VERSION, ' ', PHP_SAPI;
Jika PHP_SAPI bernilai fpm-fcgi, PHP berjalan di bawah FPM; apache2handler berarti mod_php; cgi-fcgi berarti CGI. Jangan biarkan phpinfo() terbuka, karena hal itu sendiri membocorkan informasi.
Restart adalah langkah lain yang mudah terlewat. Meskipun paket sudah diganti, proses php-fpm atau Apache yang sudah berjalan mungkin tetap menjalankan kode lama. Sebagian konfigurasi melakukan restart otomatis saat paket diperbarui; sebagian lain tidak. Setelah memperbarui, restart FPM / Apache dan periksa lagi versi sisi web dengan cara di atas.
Jebakan 2: Pada Docker, nama tag tidak bisa dijadikan patokan
Image resmi php memiliki “tag bergerak” seperti 8.3 dan 8.3-fpm, yang isinya diganti, serta tag yang dipatok seperti 8.3.30, yang mengunci versi.
- Meskipun sebuah tag bergerak sudah dialihkan ke versi perbaikan di Docker Hub, salinan lokal Anda tetap berupa image lama sampai Anda melakukan pull lagi. Container yang berjalan juga tetap memakai image lama sampai dibuat ulang.
DockerfiledenganFROM php:8.3-fpmtetap akan di-build di atas base lama jika base itu masih ada di cache build. - Tag yang dipatok akan tetap lama selamanya sampai Anda menaikkan nomornya sendiri.
Anda dapat memeriksa apakah tag versi perbaikan sudah dipublikasikan menggunakan API Docker Hub.
curl -s "https://hub.docker.com/v2/repositories/library/php/tags?name=8.3.36&page_size=100"
Berikut hasil pengecekan empat lini rilis pada 2026-10-22 (waktu dalam UTC).
| Versi perbaikan | Tag ditemukan | Waktu tag berbasis Debian (-fpm, -apache, dll.) muncul | Tag berbasis Alpine |
|---|---|---|---|
| 8.5.12 | 54 (termasuk RC1) | 2026-10-21 18:59–22:13 | 2026-10-21 22:12–10-22 01:05 |
| 8.4.27 | 54 (termasuk RC1) | 2026-10-21 22:09–22:11 | 2026-10-21 22:09–10-22 03:58 |
| 8.3.36 | 27 | 2026-10-21 22:04–22:06 | 2026-10-21 22:04–10-22 03:56 |
| 8.2.35 | 27 | 2026-10-21 21:59–22:01 | 2026-10-21 22:00–10-22 00:58 |
Pengecekan ini menemukan tiga hal di mana penilaian berdasarkan angka bisa menyesatkan.
- “Baru diperbarui” tidak berarti “sudah diperbaiki.” Tag yang dipatok
8.3.35dibangun ulang pada 2026-10-21, tetapiPHP_VERSIONdi dalamnya tetap 8.3.35. Lihat versi di dalam image, bukan waktu pembaruannya. - Digest berbeda bisa berisi hal yang sama.
8.3dan8.3.36memiliki digest tag yang berbeda (nilai indeks multi-arsitektur), tetapi image amd64-nya identik dan keduanya memilikiPHP_VERSION=8.3.36. Demikian pula untuk8.3-fpm/8.3.36-fpm,8.4-apache/8.4.27-apache,latest/8.5.12,8.5-fpm, dan8.2-fpm,PHP_VERSIONpada image amd64 adalah versi perbaikan. - Tidak ada image resmi yang sudah diperbaiki untuk 8.1 dan sebelumnya.
8.1-fpmterakhir diperbarui pada 2025-12-31.
Untuk memeriksa image lokal dan container yang berjalan:
# Versi PHP dari image yang sudah di-pull secara lokal
docker image inspect php:8.3-fpm --format '{{range .Config.Env}}{{println .}}{{end}}' | grep PHP_VERSION
# Pull ulang dan buat ulang container
docker compose pull
docker compose up -d
# Jika Anda membangun image sendiri, pull ulang base lalu build
docker compose build --pull
# Versi di dalam container yang berjalan
docker compose exec app php -r 'echo PHP_VERSION, PHP_EOL;'
Ganti app pada perintah terakhir dengan nama service Anda sendiri. Setiap image resmi dibangun dengan satu PHP_VERSION, sehingga versi CLI di dalam container sama dengan versi FPM / Apache container tersebut (Jebakan 1 berlaku jika PHP dipasang langsung di host).
FrankenPHP menyematkan PHP, sehingga versi FrankenPHP dan versi PHP yang tertanam adalah angka yang berbeda. Catatan rilis FrankenPHP 1.13.2, yang dirilis 2026-10-21, menyatakan bahwa image Docker dibangun dengan PHP 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 dan binary statis dengan PHP 8.5.12.
Jebakan 3: Paket distro “diperbaiki dengan nomor lama”
Ubuntu dan RHEL hanya memindahkan perbaikannya ke versi lama (backporting). Nomor yang ditampilkan php -v tetap lama, sehingga pemeriksaan numerik seperti “lebih rendah dari 8.3.36, berarti rentan” akan menandai sistem yang sudah diperbaiki sebagai rentan. Sebaliknya, Anda juga tidak bisa merasa aman hanya dari nomor. Tentukan berdasarkan versi paket dan security tracker masing-masing distro.
Paket perbaikan yang tercantum di tiap tracker per 2026-10-22 (sama untuk kedua CVE):
| Distro | Paket | Versi perbaikan | Sumber |
|---|---|---|---|
| Ubuntu 22.04 (jammy) | php8.1 | 8.1.2-1ubuntu2.28 | USN-8948-1 |
| Ubuntu 24.04 (noble) | php8.3 | 8.3.6-0ubuntu0.24.04.13 | USN-8948-1 |
| Ubuntu 26.04 (resolute) | php8.5 | 8.5.4-0ubuntu1.5 | USN-8948-1 |
| Ubuntu (stonking) | php8.5 | 8.5.9-0ubuntu2.1 | USN-8948-1 |
| Ubuntu 14.04 / 16.04 / 18.04 / 20.04 | php5 / php7.0 / php7.2 / php7.4 | Tersedia melalui Ubuntu Pro (termasuk Legacy Support) | USN-8948-2 |
| Debian 12 (bookworm) | php8.2 | 8.2.35-1~deb12u1 | DLA-4848-1 |
| Debian 13 (trixie) | php8.4 | 8.4.27-1~deb13u1 | DSA-6574-1 |
| RHEL 10 | php / php8.4 | 8.3.36-1.el10_2 / 8.4.27-1.el10_2 | Red Hat |
| RHEL 9 | php (default) | 8.0.30-8.el9_8.1 | Red Hat |
| RHEL 9 | modul php 8.2 / 8.3 | 8.2.35-1.module+el9.8.0… / 8.3.36-1.module+el9.8.0… | Red Hat |
| RHEL 8 | modul php 7.4 / 8.2 | 7.4.33-8.module+el8.10.0… / 8.2.35-1.module+el8.10.0… | Red Hat |
Tabel ini secara langsung menunjukkan mengapa nomor saja tidak cukup. PHP Ubuntu 24.04 yang sudah diperbaiki adalah versi yang diawali 8.3.6, jauh lebih rendah daripada 8.3.36 milik upstream. PHP default RHEL 9 sudah diperbaiki sementara tetap di 8.0.30, padahal upstream tidak lagi merilis perbaikan untuk 8.0. Debian telah pindah ke nomor yang sama dengan upstream (8.2.35 / 8.4.27).
Beberapa paket belum diperbaiki (per 2026-10-22).
- Modul php 8.4 di RHEL 9 dicantumkan sebagai “terdampak, belum ada perbaikan.”
- Debian forky (testing) memiliki php8.4 8.4.26-1, ditandai “vulnerable.” php8.4 di sid (unstable) adalah 8.4.27-1 dan sudah diperbaiki.
Contoh perintah untuk memeriksa server Anda sendiri:
# Debian / Ubuntu: versi terpasang dan versi yang tersedia
apt-cache policy php8.3-fpm libapache2-mod-php8.3
# Ubuntu: apakah CVE ini sudah diperbaiki di server ini
pro fix CVE-2026-109618
pro fix CVE-2026-109619
# Keluarga RHEL: apakah ada pembaruan yang memperbaiki CVE ini, dan versi terpasang
dnf updateinfo list --cve CVE-2026-109618
rpm -q php-fpm php-cli
Sesuaikan nama paket (php8.3-fpm, dll.) dengan lingkungan Anda. Bandingkan versi yang tampil dengan “versi perbaikan” pada tabel di atas atau di tracker; jika sama atau lebih tinggi, perbaikan sudah masuk. Lalu selesaikan restart dan pemeriksaan sisi web yang dijelaskan di Jebakan 1.
Jika Anda memasang PHP dari repositori pihak ketiga, bukan paket bawaan distro, Anda perlu mengikuti pembaruan repositori tersebut. Pengumuman PHP mencatat bahwa rpms.remirepo.net yang dikelola sukarelawan tidak akan memiliki pembaruan pada hari pengungkapan, dan menyarankan beralih ke paket distro atau build sendiri.
Jebakan 4: Pada shared hosting dan lingkungan terkelola, Anda tidak bisa meningkatkan PHP sendiri
Pada shared hosting dan lingkungan PHP terkelola, penyedia yang mengganti runtime PHP. Di sini pun nomor saja tidak cukup: jika penyedia membangun PHP sendiri atau melakukan backport perbaikan, nomor versi bisa tetap lama.
Ada tiga hal yang bisa Anda lakukan sendiri.
- Periksa versi sisi web. Gunakan file sementara dari Jebakan 1 untuk mencetak
PHP_VERSIONdanPHP_SAPI, lalu segera hapus. Jika panel kontrol memiliki pemilih versi PHP, catat juga versi yang Anda pilih. - Baca pemberitahuan penyedia, dan tanyakan jika tidak ada. Tanyakan: “Untuk versi PHP mana pada paket saya perbaikan CVE-2026-109618 dan CVE-2026-109619 akan diterapkan, dan kapan (atau apakah sudah diterapkan)?” Bertanya dengan nomor CVE, bukan nomor versi, membuat jawaban mencakup backport juga.
- Jika Anda memilih versi yang tidak lagi didukung, tingkatkan. Proyek PHP tidak merilis perbaikan untuk 8.1 dan sebelumnya, dan dukungan 8.2 berakhir pada 2026-12-31. Kecuali penyedia telah melakukan backport perbaikan, berpindah versi adalah jalan yang pasti.
Status per penyedia hosting (per 2026-10-22)
Pada shared hosting, penyedia biasanya memperbarui runtime PHP, dan pemberitahuan banyak penyedia menyatakan bahwa “tidak ada tindakan yang diperlukan dari pengguna.” Ada dua hal yang perlu dilakukan pengguna: memeriksa pemberitahuan resmi penyedianya, dan, jika memilih versi PHP lama di panel kontrol, memutuskan apakah akan beralih ke versi yang direkomendasikan pemberitahuan (versi yang memiliki rilis perbaikan).
Tabel di bawah hanya merangkum apa yang tertulis di halaman resmi tiap penyedia (pengumuman dan informasi pemeliharaan), dengan memparafrasekan redaksi pemberitahuan mereka. Pemberitahuan diperbarui seiring perkembangan, jadi selalu pastikan status sebenarnya di halaman resmi yang dikutip.
| Penyedia / layanan | Poin utama pemberitahuan resmi | Tanggal/waktu pemberitahuan | Sumber |
|---|---|---|---|
| エックスサーバー | “Untuk PHP 8.2–8.5, penerapan patch perbaikan ke semua server yang terdampak telah selesai.” Untuk versi lama, pemberitahuan menyebut “patch perbaikan telah siap untuk sebagian versi dan akan diterapkan berurutan seiring selesainya verifikasi,” serta versi lama lainnya juga sedang dikerjakan | Seperti tertulis pada 10/22 6:45 (halaman diperbarui hingga 13:15) | メンテナンスの進捗状況 |
| シン・レンタルサーバー | Halaman pengumuman memuat “perkembangan pemeliharaan” yang sama dengan Xserver, tetapi saya tidak menemukan pernyataan yang secara khusus membahas status PHP pada Shin Rental Server (periksa ke dukungan) | - | お知らせ |
| ConoHa WING | “Kami menerapkan patch keamanan dengan tetap mempertahankan versi PHP yang Anda gunakan saat ini.” Pemberitahuan menyebut pengguna umumnya tidak perlu mengganti versi, tetapi perubahan mungkin diperlukan untuk PHP 5.x dan 7.x. File manager dan webmail dihentikan sementara sebagai tindakan pencegahan; tampilan situs web serta pengiriman dan penerimaan email berjalan normal | 10/22 | 【重要】PHPの脆弱性への弊社対応について |
| さくらのレンタルサーバ | “Kami telah menyelesaikan penanganan kerentanan untuk semua versi PHP yang dapat dipilih dari panel kontrol kami.” Menyatakan bahwa “tidak ada tindakan mendesak yang diperlukan dari pelanggan,” dan merekomendasikan pindah ke versi terbaru yang didukung ke depannya. Pemberitahuan menyebut webmail ditangani pada 10/22 13:45 dan phpMyAdmin masih dikerjakan | 10/22 (diperbarui 13:45) | PHPの脆弱性(CVE-2026-109618、CVE-2026-109619)への対応状況について |
| ロリポップ! | Pemberitahuan pemeliharaan pencegahan menjelang rilis versi perbaikan (situs layanan, halaman pengguna, dll. akan dihentikan bergiliran; situs dapat dihentikan atau dibatasi tanpa pemberitahuan sebelumnya). Per 10/22, saya tidak menemukan pemberitahuan yang mengumumkan selesainya perbaikan PHP (periksa ke dukungan) | 10/21 | 【重要】PHPの脆弱性への予防措置に伴うメンテナンス実施のお知らせ |
| ヘテムル | “Untuk PHP 8.x dan PHP 7.4, kami telah menerapkan versi perbaikan resmi”; untuk versi lain, “kami membuat perbaikan sendiri berdasarkan perbaikan resmi.” Karena “sebagian fungsi (session.upload_progress) dinonaktifkan di semua versi,” pengguna diminta memeriksa apakah situsnya berfungsi. Karena versi lama mungkin tidak menerima perbaikan lagi, pemberitahuan menyarankan beralih ke versi yang lebih baru | Diposting 10/21 19:44; diperbarui 10/22 12:18 dan 13:20 | 【一部完了】【重要】PHPの脆弱性への予防措置に伴うメンテナンス実施のお知らせ |
| mixhost | “Penerapan paket perbaikan PHP selesai sekitar pukul 10:18 pada 22 Oktober 2026.” “Diterapkan tanpa mengubah nomor versi PHP”; “tidak ada tindakan yang diperlukan dari pelanggan.” Pemberitahuan menyarankan pengguna versi di bawah PHP 8.2 memakai versi yang didukung (8.2 atau lebih baru) | 10/22 | 【完了】PHPの重大な脆弱性への対応について |
| KAGOYA | Untuk layanan rental server, PHP 8.2–8.5 akan diperbarui berurutan setelah versi perbaikan diverifikasi (versi target masih difinalkan). Untuk server dedicated terkelola, shared, dan khusus WordPress, perbaikan permanen masih direncanakan; sebagai langkah sementara, pemberitahuan menyarankan mempertimbangkan untuk menurunkan situs atau membatasi akses | Diposting 10/21 18:20; diperbarui 10/22 10:35 | PHPの脆弱性に関する当社サービスへの影響について |
| Zenlogic(IDCフロンティア) | Perbaikan diterapkan saat pemeliharaan darurat (10/21 22:00–10/22 18:00; waktu selesai dapat bervariasi). PHP 5.3 akan diperbarui ke versi terbaru dan tidak dapat dikembalikan; 7.4 dan 8.1 mungkin diperbarui. Pemberitahuan menyebut bahwa jika muncul masalah tampilan atau perilaku setelah pembaruan, sisi aplikasi harus diperbaiki | 10/21 | 【ホスティング】緊急メンテナンス作業のお知らせ |
| ColorfulBox | “Kami telah menyelesaikan pembaruan ke versi yang sudah ditambal di sisi server dengan tetap mempertahankan versi PHP yang Anda gunakan saat ini.” Pemberitahuan menyatakan bahwa “pelanggan tidak perlu mengubah atau berpindah versi PHP sendiri” | 10/22 | 【重要】PHPの脆弱性に対するセキュリティアップデート完了のお知らせ |
| お名前.com レンタルサーバー | “Kami menerapkan patch keamanan dengan tetap mempertahankan versi PHP yang Anda gunakan saat ini.” Pemberitahuan menyebut perubahan versi umumnya tidak diperlukan, tetapi mungkin diperlukan untuk PHP 5.x dan 7.x. File manager dan webmail dihentikan sementara sebagai tindakan pencegahan | 10/22 | 【重要】PHPの脆弱性への弊社対応について |
| CORESERVER(V2) | “Kami telah menyelesaikan penanganan kerentanan untuk semua versi PHP yang kami sediakan”; “tidak diperlukan tindakan seperti mengubah versi PHP di sisi pelanggan.” Pemeliharaan berlangsung 10/22 0:00–11:13 dan dinyatakan selesai | Diposting 10/21 (selesai 10/22) | PHP脆弱性の対応(CORESERVER V2)【完了】 |
| XREA | “Kami telah menyelesaikan penanganan kerentanan untuk PHP 7.4 dan yang lebih baru (7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4 / 8.5).” Pengguna versi tersebut tidak perlu mengganti versi. Pemberitahuan tidak menyebut apa pun tentang versi di bawah 7.4 | Diposting 10/21 (selesai 10/22 0:50) | PHP脆弱性の対応(XREA)【完了】 |
| バリューサーバー | “Kami telah menyelesaikan penanganan kerentanan untuk PHP 7.4 dan yang lebih baru.” Pemberitahuan menyebut pengguna versi tersebut tidak perlu mengganti versi | Diposting 10/21 (selesai 10/22 0:50) | PHP脆弱性の対応(VALUESERVER)【完了】 |
| ABLENET | “Terkait dua kerentanan yang teridentifikasi pada PHP, kami telah melakukan pembaruan keamanan awal untuk lingkungan rental server kami.” Pemberitahuan tidak menyebut versi mana yang tercakup atau apakah pengguna perlu mengambil tindakan | 10/22 13:04 | PHPの脆弱性に関するセキュリティアップデートの対応について |
| WebARENA(レンタルサーバー) | Per 10/22, saya tidak menemukan pemberitahuan resmi (periksa ke dukungan) | - | WebARENA お知らせ(2026年) |
Jika saya tidak dapat menemukan atau membuka pemberitahuan resmi, tabel menuliskan “tidak dapat dikonfirmasi” atau “tidak ditemukan.” Tidak adanya informasi di sana tidak berarti penyedia belum menanggapi. Periksa langsung ke pengumuman dan dukungan penyedia Anda.
Mitigasi selama Anda belum bisa langsung memperbarui
Pengumuman PHP mencantumkan pengaturan yang mengurangi permukaan serangan sampai Anda bisa memperbarui. Namun, pengumuman itu sendiri secara tegas menyatakan bahwa pengaturan tersebut “tidak membuat Anda aman.” Yang utama adalah:
- Untuk CVE-2026-109619: setel
session.upload_progress.enabled=0di php.ini, pool FPM, atau konfigurasi server, lalu restart semua worker (ini_set()dan.user.iniFPM tidak berfungsi untuk ini). Pada PHP 8.5, setel jugafatal_error_backtraces=0. - Untuk CVE-2026-109618: setel
memory_limit=-1dengan cara yang tidak dapat ditimpa oleh aplikasi, dan kecilkanpost_max_size(8M jika tidak ada unggahan, 32M jika ada). Jangan menggunakanRLIMIT_AS/RLIMIT_DATAsebagai pengganti.
NCSC Inggris merekomendasikan untuk mempertimbangkan menurunkan sistem apa pun yang tidak dapat segera diperbarui atau dimitigasi, dan memeriksa tanda-tanda kompromi sebelum memperbarui atau menerapkan mitigasi.
Sumber (diperiksa pada 2026-10-22)
- php.net: Security advisory: Critical remote code execution vulnerabilities, update now (2026-10-21)
- php.net: Upcoming Critical PHP Security Release (2026-10-20)
- php.net: Pengumuman rilis PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35
- GitHub: GHSA-w8hw-w9fx-j79w (CVE-2026-109618)
- GitHub: GHSA-6wmf-4rv5-p3rp (CVE-2026-109619)
- Docker Hub: image resmi php
- Catatan rilis FrankenPHP 1.13.2
- Debian Security Tracker: CVE-2026-109618 / CVE-2026-109619
- Ubuntu: CVE-2026-109618 / CVE-2026-109619 / USN-8948-1 / USN-8948-2
- Red Hat: CVE-2026-109618 / CVE-2026-109619 (versi paket yang sudah diperbaiki berasal dari data VEX Red Hat)
- NCSC: Critical security issue affecting PHP
Pertanyaan yang sering diajukan
Jika php -v menampilkan versi yang sudah diperbaiki, apakah saya sudah aman dari php2shell (CVE-2026-109618 / 109619)?
Belum tentu. php -v hanya menampilkan versi PHP CLI. PHP-FPM atau mod_php Apache yang menangani permintaan web bisa berupa binary dan paket yang terpisah. Periksa versi FPM dengan php-fpm8.3 -v (php-fpm -v pada keluarga RHEL). Alternatifnya, buka dari web sebuah file sementara yang mencetak PHP_VERSION dan PHP_SAPI, lalu hapus segera setelah selesai memeriksa. Jika Anda belum me-restart FPM atau Apache setelah pembaruan, keduanya mungkin masih menjalankan kode lama.
Jika saya memakai php:8.3-fpm dari Docker, apakah php2shell sudah diperbaiki?
Per 2026-10-22, php:8.3-fpm di Docker Hub sudah diganti ke PHP 8.3.36. Namun image lokal Anda tetap lama sampai Anda melakukan pull ulang, dan container yang berjalan tetap memakai image lama sampai dibuat ulang. Jalankan docker compose pull dan docker compose up -d (atau docker compose build --pull jika Anda membangun image sendiri). Lalu jalankan php -r 'echo PHP_VERSION;' di dalam container dan pastikan hasilnya 8.3.36 atau lebih baru. Tag yang dipatok seperti 8.3.30 tetap lama sampai Anda menaikkan nomornya sendiri.
Ubuntu dan RHEL masih menampilkan PHP 8.3.6 atau 8.0.30. Apakah terdampak php2shell?
Tidak bisa dipastikan dari nomor versi saja. Ubuntu dan RHEL melakukan backport perbaikan ke versi lama, sehingga paket bisa sudah diperbaiki sementara nomornya tetap lama. Per 2026-10-22, perbaikan ada di php8.3 8.3.6-0ubuntu0.24.04.13 pada Ubuntu 24.04 dan php 8.0.30-8.el9_8.1 pada RHEL 9. Bandingkan versi paket yang terpasang (apt-cache policy atau rpm -q) dengan versi perbaikan di security tracker distro Anda. Anda juga bisa memeriksanya dengan pro fix CVE-2026-109618 di Ubuntu, atau dnf updateinfo list --cve CVE-2026-109618 pada keluarga RHEL.