Agensi Keselamatan Siber Negara (NACSA) melalui Pusat Penyelarasan dan Kawalan Siber Negara (NC4) kini mengeluarkan amaran mengenai dua kerentanan kritikal dalam PHP yang membolehkan penyerang melaksanakan kod pada pelayan web tanpa perlu mengesahkan identiti terlebih dahulu.
Dikenali secara kolektif sebagai PHP2Shell, kedua-dua kelemahan itu dikenal pasti melalui CVE-2026-109618 dan CVE-2026-109619. Pasukan keselamatan PHP telah mengeluarkan kemas kini kecemasan pada 21 Oktober 2026 bagi menangani isu tersebut.
Kerentanan Kritikal dalam enjin PHP
Kerentanan pertama, CVE-2026-109618, melibatkan pengendalian keadaan kehabisan memori yang tidak betul. Keadaan ini boleh menyebabkan PHP memproses data dalaman yang tidak sah ketika membersihkan permintaan, sekali gus berpotensi membolehkan pelaksanaan kod dari jauh.
Sementara itu, CVE-2026-109619 berlaku apabila data permintaan yang telah dibebaskan daripada memori masih dirujuk dan digunakan semula. Ini boleh menyebabkan kerosakan memori serta membuka ruang kepada pelaksanaan kod tanpa kebenaran.

Kedua-dua kelemahan ini terletak pada enjin PHP itu sendiri, bukannya kod aplikasi tertentu. Ia menjejaskan pemasangan PHP yang memproses permintaan web, termasuk PHP-FPM, Apache mod_php, PHP-CGI, LiteSpeed dan FrankenPHP.
Pasukan keselamatan PHP turut mengenal pasti konfigurasi Apache mod_php sebagai paling berisiko berdasarkan kaedah eksploitasi yang telah ditunjukkan.
Versi PHP yang perlu dikemas kini
NC4 menggesa organisasi menyemak semua pelayan, aplikasi dan sistem yang menjalankan PHP, kemudian memasang versi yang telah menerima pembaikan keselamatan.
Versi yang telah dibaiki ialah PHP 8.2.35, PHP 8.3.36, PHP 8.4.27 dan PHP 8.5.12. Pentadbir perlu menaik taraf kepada versi berkenaan atau versi lebih baharu yang telah dibaiki dalam cawangan masing-masing.

Bagi PHP 8.1 dan versi lebih lama, projek PHP tidak lagi menyediakan sokongan keselamatan. Pentadbir disarankan menaik taraf kepada versi yang masih disokong atau mendapatkan pembaikan keselamatan yang disahkan daripada vendor berkaitan.
Langkah sementara (jika tampalan tertangguh)
Bagi mengurangkan risiko sementara, tetapan “memory_limit=-1” dan had “post_max_size” boleh dipertimbangkan untuk menangani laluan serangan CVE-2026-109618, tertakluk pada keperluan aplikasi dan had memori infrastruktur.
Untuk CVE-2026-109619, pasukan keselamatan PHP mengesyorkan tetapan “session.upload_progress.enabled=0”. Bagi PHP 8.5, tetapan “fatal_error_backtraces=0” turut disarankan.
Bagaimanapun, langkah mitigasi ini tidak menghalang eksploitasi sepenuhnya dan bukan pengganti kepada kemas kini rasmi.
NC4 menggesa organisasi memantau aktiviti PHP dan log pelayan untuk mengesan perkara mencurigakan, termasuk perubahan fail tanpa kebenaran dan sambungan rangkaian luar biasa. Jika pelayan disyaki diceroboh, asingkan sistem terjejas, simpan bukti dan jalankan tindakan pemulihan yang diperlukan.
Organisasi juga disaran memasang kemas kini keselamatan dengan segera dan menyemak sistem bagi mengenal pasti kerentanan.
Sementara itu, MyCERT melalui amaran keselamatan berasingan turut menyarankan pentadbir yang tidak dapat memasang tampalan dengan segera untuk mempertimbangkan penutupan sementara sistem PHP yang boleh diakses dari internet sehingga pembaikan dilaksanakan.
Bagi laman web yang menggunakan perkhidmatan shared hosting atau diuruskan oleh pihak ketiga, pentadbir disaran menghubungi penyedia perkhidmatan masing-masing untuk memastikan tampalan keselamatan berkaitan telah dipasang.
