Hari ini, 21 Oktober 2026, PHP dan Node.js merilis pembaruan keamanan. Perbaikan PHP perlu mendapat perhatian khusus: dua celah kritis memungkinkan penyerang menjalankan kode di server web tanpa login. Serangan bahkan sudah dilaporkan sebelum perbaikannya dirilis.
WireBoard sudah diperbarui. Layanan tetap berjalan tanpa gangguan. Anda tidak perlu melakukan apa pun pada akun WireBoard maupun skrip pelacakan Anda.
Namun, jika situs atau aplikasi Anda menggunakan PHP atau Node.js, baca panduan ini dan lakukan pembaruan hari ini juga.
Ringkasan
Perbarui ke | Tingkat keparahan | |
|---|---|---|
PHP | 8.5.12, 8.4.27, 8.3.36 atau 8.2.35 (atau paket dari vendor Anda yang sudah memuat perbaikan) | Kritis (CVSS 9,2), eksekusi kode jarak jauh tanpa autentikasi |
Node.js | 26.12.1, 24.22.1 atau 22.23.4 | Tinggi |
Menggunakan WordPress, Magento, Drupal, Laravel, atau aplikasi PHP lainnya? Artinya, situs Anda menggunakan PHP. Segera perbarui.
Menggunakan shared hosting atau managed hosting? Penyedia hosting Anda yang menerapkan perbaikan PHP. Pastikan mereka sudah melakukannya.
Setelah memperbarui PHP, mulai ulang PHP-FPM atau Apache. Jika tidak, versi lama akan tetap berjalan.
Masih menggunakan versi yang dukungannya sudah berakhir (PHP 8.1 atau lebih lama, Node.js 25, 23, 20 atau lebih lama)? Versi tersebut tidak akan mendapat perbaikan resmi. Rencanakan migrasi ke versi yang masih didukung.
Apa yang terjadi?
PHP: "PHP2Shell" (CVE-2026-109618 dan CVE-2026-109619)
Tim PHP merilis perbaikan untuk dua kerentanan kritis. Keduanya mendapat skor 9,2 pada skala CVSS v4.0:
CVE-2026-109618: eksekusi kode jarak jauh melalui kerusakan memori saat PHP kehabisan memori di tengah pemrosesan permintaan.
CVE-2026-109619: eksekusi kode jarak jauh melalui status global yang sudah tidak valid.
Keduanya bisa dipicu dari jarak jauh tanpa autentikasi, bahkan pada konfigurasi bawaan. Detail kerentanan bocor di internet sehari sebelum jadwal rilis. Perusahaan keamanan pun mendeteksi serangan dan upaya penjajakan terhadap situs PHP sebelum perbaikan tersedia. Sejumlah perusahaan sempat menonaktifkan layanan mereka sebagai langkah pencegahan hingga pembaruan dapat dilakukan.
Semua cabang PHP yang masih didukung terdampak jika versinya lebih lama dari 8.2.35, 8.3.36, 8.4.27, dan 8.5.12.
Node.js: rilis keamanan Oktober 2026
Node.js merilis perbaikan untuk seri 26.x, 24.x, dan 22.x yang mencakup 10 kerentanan. Empat di antaranya memiliki tingkat keparahan Tinggi. Berikut yang paling perlu diperhatikan:
CVE-2026-111497: penulisan di luar batas memori pada dekompresor Brotli yang berpotensi memungkinkan eksekusi kode jarak jauh. Aplikasi Anda bisa terdampak hanya dengan memanggil
fetch()ke server yang mengembalikan data terkompresi Brotli.CVE-2026-105483 / CVE-2026-106069: celah untuk melewati verifikasi nama host TLS menggunakan penulisan alamat IP yang tidak lazim.
CVE-2026-105482:
dns.resolvedapat mencari nama yang berbeda dari nama yang diperiksa oleh kode Anda.
Langkah yang sudah kami ambil
Hari ini kami menerapkan kedua pembaruan di seluruh infrastruktur WireBoard. Prosesnya berjalan tanpa gangguan layanan dan tanpa dampak pada data. Cara Anda menggunakan WireBoard juga tetap sama.
Apakah Anda terdampak?
Anda perlu bertindak jika situs, aplikasi, atau server Anda menggunakan:
PHP, baik secara langsung maupun melalui CMS atau framework seperti WordPress, WooCommerce, Magento, Drupal, Joomla, Laravel, atau Symfony.
Node.js, misalnya aplikasi Next.js, Nuxt, Express, atau NestJS, maupun layanan backend atau server build yang menjalankan Node.
Belum yakin? Tanyakan kepada pengembang atau penyedia hosting Anda: "Apakah situs kami menggunakan PHP atau Node.js, dan apakah sudah diperbarui ke rilis keamanan hari ini?"
Cara memeriksa versi
PHP
Yang perlu diperiksa adalah versi PHP yang digunakan server web Anda. Perintah php -v di terminal menampilkan versi PHP untuk baris perintah, yang bisa saja berbeda.
Buat file bernama
info.phpdi direktori root web situs Anda, lalu isi dengan<?php phpinfo();Buka file tersebut di browser dan periksa PHP Version di bagian atas.
Segera hapus file tersebut setelah selesai, karena file ini menampilkan seluruh konfigurasi server Anda.
Banyak panel kontrol hosting, seperti cPanel dan Plesk, juga menampilkan versi PHP.
Catatan untuk paket distribusi Linux: Ubuntu, Debian, RHEL, dan distribusi sejenis sering menerapkan perbaikan ke versi lama tanpa mengubah nomor versinya. Jika demikian, cari ID CVE di catatan perubahan paket (lihat panduan di bawah).
Node.js
node -v
Perbaikan sudah terpasang jika hasilnya menunjukkan v26.12.1, v24.22.1, v22.23.4, atau versi yang lebih baru dalam seri yang sama.
Cara memperbarui PHP
Ikuti bagian yang sesuai dengan cara PHP dipasang di server Anda.
Shared hosting atau managed hosting
Penyedia hosting Anda mengelola PHP dan menerapkan perbaikannya. Periksa halaman status atau pengumuman mereka, lalu pastikan versinya melalui phpinfo() seperti panduan di atas. Jika panel kontrol memungkinkan Anda memilih versi PHP dan Anda masih menggunakan versi 8.1 atau lebih lama, beralihlah ke 8.2 atau lebih baru. Pastikan CMS dan plugin Anda mendukung versi tersebut terlebih dahulu.
Ubuntu / Debian
sudo apt update
# replace 8.3 with the PHP branch you use
sudo apt install --only-upgrade 'php8.3-*'
# confirm the fix is included
apt changelog php8.3-fpm | grep -E 'CVE-2026-10961(8|9)'
Jika perintah terakhir tidak menampilkan hasil apa pun, perbaikan belum tersedia di repositori distribusi Anda. Periksa Ubuntu Security Notices atau Debian Security Tracker, lalu coba lagi nanti. Jika Anda menggunakan paket PHP dari Ondřej Surý, perbarui dari repositori tersebut dengan cara yang sama.
RHEL / AlmaLinux / Rocky Linux
dnf module list php # see which PHP stream you're on
sudo dnf upgrade 'php*'
# confirm the fix is included
rpm -q --changelog php-fpm | grep -E 'CVE-2026-10961(8|9)'
Jika Anda menggunakan repositori Remi, lakukan pembaruan dari sana.
Docker
Mengunduh image baru tidak memperbarui container yang sedang berjalan. Unduh image, lakukan build ulang, lalu buat ulang container:
docker pull php:8.3-fpm # use your tag
docker compose build --pull
docker compose up -d
Agar lebih pasti, tetapkan versi yang sudah diperbaiki di Dockerfile Anda, misalnya FROM php:8.3.36-fpm.
Kompilasi dari kode sumber atau Windows
Unduh rilis yang sudah diperbaiki dari php.net/downloads.
Setelah itu, mulai ulang PHP
Langkah ini mudah terlewat. Proses yang sedang berjalan tetap menggunakan PHP versi lama sampai dimulai ulang:
# PHP-FPM (Debian/Ubuntu; replace 8.3 with your branch)
sudo systemctl restart php8.3-fpm
# PHP-FPM (RHEL family)
sudo systemctl restart php-fpm
# Apache with mod_php
sudo systemctl restart apache2 # or httpd on RHEL
Setelah itu, periksa kembali phpinfo() untuk memastikan versi baru sudah digunakan.
"Apakah cukup mengubah pengaturan saja?"
Tidak. Beberapa solusi sementara sempat beredar, seperti menonaktifkan session.upload_progress.enabled. Langkah tersebut hanya mengurangi risiko. Seorang pengembang inti PHP telah menyatakan secara terbuka bahwa satu-satunya mitigasi yang benar-benar efektif adalah memperbarui PHP. Jika Anda sudah menerapkan solusi sementara, pertahankan sampai pembaruan selesai. Namun, pembaruan tetap wajib dilakukan.
Cara memperbarui Node.js
Dipasang melalui | Cara memperbarui |
|---|---|
nvm |
|
Installer resmi | Unduh versi terbaru dalam seri yang Anda gunakan dari nodejs.org/en/download |
Docker | Tetapkan tag versi yang sudah diperbaiki, misalnya |
Homebrew |
|
Pengelola paket Linux | Perbarui melalui repositori distribusi Anda atau NodeSource seperti biasa. |
Platform hosting (Vercel, Netlify, Heroku, Render, dll.) | Periksa pengaturan runtime dan pengumuman platform Anda. Sebagian besar menerapkan runtime yang sudah diperbaiki secara otomatis, tetapi Anda mungkin perlu melakukan deploy ulang. |
Setelah memperbarui, mulai ulang aplikasi Anda (atau lakukan deploy ulang), lalu pastikan versinya dengan node -v.
Jika versi Anda sudah tidak didukung
Perbaikan resmi hanya tersedia untuk versi yang masih didukung:
PHP: 8.2, 8.3, 8.4, dan 8.5. PHP 8.1 dan versi yang lebih lama tidak mendapat rilis perbaikan resmi. Beberapa distribusi Linux dan vendor dukungan jangka panjang berbayar menerapkan perbaikan ke versi lama, jadi konfirmasikan kepada penyedia Anda. Jika tidak tersedia, beralih ke cabang yang masih didukung adalah pilihan aman. Perlu diingat, dukungan perbaikan keamanan PHP 8.2 hanya berlaku hingga 31 Desember 2026.
Node.js: 22.x, 24.x, dan 26.x. Dukungan untuk seri seperti 25, 23, dan 20 sudah berakhir, sehingga tidak ada perbaikan untuk versi tersebut.
Jika belum bisa segera memperbarui, pertimbangkan untuk melindungi situs dengan firewall aplikasi web atau membatasi akses sampai pembaruan dapat dilakukan.
Bacaan lebih lanjut
Pengumuman keamanan resmi
Pengumuman keamanan PHP GHSA-w8hw-w9fx-j79w (CVE-2026-109618)
Pengumuman keamanan PHP GHSA-6wmf-4rv5-p3rp (CVE-2026-109619)
Panduan tambahan
GoDaddy: Pembaruan keamanan penting PHP dan langkah yang perlu diambil pemilik situs (ringkasan dengan bahasa sederhana)
Help Net Security: PHP2Shell sudah diperbaiki, segera perbarui
ma.ttias.be: Cara menerapkan perbaikan PHP (status perbaikan tiap distribusi)
Lilting: Penjelasan perbaikan Node.js Oktober 2026 (pembahasan teknis mendalam)