有很多年沒聽過PHP 生這麼大的病,這一下就來兩個,主流的Linux 發行版都立刻更新,反而是FreeBSD 落後。
https://www.php.net/archive/2026.php#2026-10-21-5
這是什麼
- 兩個都是 PHP 執行環境本身的漏洞,不是 WordPress 或其他框架的問題。不需要登入,攻擊者送出特製的 HTTP請求,就能在伺服器上執行程式碼。CVSS v4.0 評分都是 9.2。
- 只要 PHP 有在處理網頁請求就受影響:Apache mod_php(風險最高)、PHP-FPM、php-cgi、FrankenPHP、LiteSpeed。CISA https://www.cisa.gov/news-events/alerts/2026/10/21/critical-vulnerabilities-php-require-immediate-patching
- 修補版本:8.5.12、8.4.27、8.3.36、8.2.35。8.1以前的版本已經停止支援,官方不會再修,只能升級到有支援的版本。AWS Security Bulletin 2026-143 https://aws.amazon.com/security/security-bulletins/2026-143-aws
- 官方說明,唯一完整的解法就是升級。改設定只能擋掉部分攻擊路徑。
Linux 直接 yum/dnf/apt/zypper update 就可以了,各大發行版事先就拿到了修補程式,所以更新很快。
FreeBSD 需要修改為最新的 latest repo 而不是預設的quarterly,如下:
mkdir -p /usr/local/etc/pkg/repos
cat > /usr/local/etc/pkg/repos/FreeBSD.conf <<'EOF'
FreeBSD-ports: {
url: "pkg+https://pkg.FreeBSD.org/${ABI}/latest"
}
EOF
pkg update -f
pkg upgrade -y
PfSense 發了公告 Netgate – https://www.netgate.com/blog/critical-php-security-update:
- 只有把 GUI 或 Captive Portal 開放給不信任的網路時才有風險。GUI 預設只開在 LAN,我有開到WAN。
- 有用 Captive Portal 的盡快更新 – 我有用。
各版本更新後的 PHP:
- Plus 26.07、Plus 26.03.1、CE 2.9.0 → PHP 8.5.12
這次不是韌體更新,沒有新的小版本,所以 GUI 裡看不到,pfSense-upgrade -c 也可能顯示已經是最新。一定要從 Console 或 SSH 手動更新::
8) Shell
Enter an option: 8
[26.07-RELEASE][admin@Home.bbken.net]/root:
pfSense-upgrade -c && pkg upgrade -y && /etc/rc.reboot
有用 WireGuard 的一定要加上 pkg upgrade -fy pfSense-pkg-WireGuard,而且要放在 pkg upgrade -y 之後。
pkg upgrade -fy pfSense-pkg-WireGuard
因為這個package 寫得比較爛,有個php_wg 是寫死的。Netgate 的說法是,要重新安裝 WireGuard 套件,它才會用到正確的 PHP 版本,不然可能起不來(php_wg 是寫死的)。論壇上也有人回報,WireGuard 指向 PHP 的連結要重新安裝才會更新。如果你是從 WireGuard 連進去更新的,過程中連線很可能會斷掉,最好先準備其他連線方式,例如 IPSec/OpenVPN。