1. 檢查
列出已安裝的 PHP 套件(Ubuntu 官方部落格的指令):
apt list '?installed ?name(^php[0-9.]+$)'拿版本對照公告。USN-8948-1(2026-10-21 發布):
| 發行版 | 套件 | 修補版 |
|---|---|---|
| 26.10 | php8.5(含 libapache2-mod-php8.5、php8.5-cgi、php8.5-cli、php8.5-fpm) | 8.5.9-0ubuntu2.1 |
| 26.04 LTS | php8.5(同上四個套件) | 8.5.4-0ubuntu1.5 |
| 24.04 LTS | php8.3(libapache2-mod-php8.3、php8.3-cgi、php8.3-cli、php8.3-fpm) | 8.3.6-0ubuntu0.24.04.13 |
| 22.04 LTS | php8.1(libapache2-mod-php8.1、php8.1-cgi、php8.1-cli、php8.1-fpm) | 8.1.2-1ubuntu2.28 |
USN-8948-2(同日發布,需要 Ubuntu Pro):
| 發行版 | 修補版 | 取得方式 |
|---|---|---|
| 20.04 LTS(php7.4) | 7.4.3-4ubuntu2.29+esm5 | Ubuntu Pro |
| 18.04 LTS(php7.2) | 7.2.24-0ubuntu0.18.04.17+esm14 | Ubuntu Pro |
| 16.04 LTS(php7.0) | 7.0.33-0ubuntu0.16.04.16+esm22 | Ubuntu Pro 的 Legacy Support 附加元件 |
| 14.04 LTS(php5) | 5.5.9+dfsg-1ubuntu4.29+esm18 | Ubuntu Pro 的 Legacy Support 附加元件 |
這些是 Ubuntu 回移植後的版號,數字看起來比 php.net 的修補版舊,但已經修好。判讀方式見我受影響嗎?。
ondrej/php PPA
很多主機用 ondrej/php PPA 裝較新的 PHP 分支。USN 與 Ubuntu 部落格都沒有提到這個 PPA,本站也沒有找到說明這兩個 CVE 的 PPA 公告,因此不列 PPA 的套件版號。狀態:未找到官方資訊,待查證。PPA 不是 Ubuntu 官方套件,上面的 USN 不涵蓋它;確認 PPA 已出修補版之前,不要當作已經修好。
2. 更新
Ubuntu 部落格寫出兩種做法,擇一:
sudo apt update && sudo apt upgradesudo apt update && sudo apt install --only-upgrade '?name(^php[0-9.]+$)'20.04 LTS 以前的修補需要先啟用 Ubuntu Pro(16.04、14.04 另需 Legacy Support 附加元件)。
3. 重啟
使用 mod_php 時,Ubuntu 部落格寫的是重啟 Apache,或直接重新開機:
sudo systemctl restart apache2sudo reboot使用 PHP-FPM 時,一樣要重啟所有 php-fpm 服務,讓每一支 worker 都換成新程式。
4. 驗證
- 再跑一次第 1 步的
apt list,確認版本等於或新於公告上的修補版。 - 向正在接流量的那一支 PHP 確認,不只看命令列的
php -v。 - 用 PPA 的主機,確認 PPA 套件確實已含修補;查不到就視為未修。
來源
查詢日期:。官方公告優先列出;內容如與 PHP 官方公告不一致,以官方公告為準。