PHP 安全更新 USN-8936-1:SOAP、TLS、FPM 等 10 個 CVE

Ubuntu 於 2026 年 10 月 19 日發布 USN-8936-1,一次修補 PHP 的 10 個 CVE,範圍涵蓋 Ubuntu 14.04 的 php5 到 26.10 的 php8.5。這次問題分散在 SOAP、OpenSSL 擴充、PHP-FPM、HTTP 串流包裝與 Phar 等常用元件,其中 SOAP 用戶端的緩衝區問題可能讓惡意伺服器在網站主機上執行程式碼。

這批修補和 10 月 21 日的 PHP2Shell 緊急版(USN-8948,CVE-2026-109618/109619)是兩次不同的更新。本站10 月月報寫過 PHP2Shell;本文說明的是 USN-8936 的 10 個 CVE。兩者都要裝。

受影響元件一覽

PHP USN-8936-1 受影響元件:SOAP 用戶端、SOAP 伺服端、OpenSSL、PHP-FPM、HTTP 串流、Phar
CVE 元件 影響
CVE-2025-14181 SOAP HTTP 用戶端 處理回應時整數溢位導致緩衝區溢位;惡意伺服器可能讓 PHP 崩潰或執行任意程式碼
CVE-2026-91765 SOAP 伺服端 解析特定 SOAP 請求時遞迴深度沒有上限,遠端可讓 PHP 崩潰
CVE-2026-91769 OpenSSL 擴充 SAN 不符時改用 CN 比對主機名稱,可能讓攻擊者冒充受信任的伺服器(Ubuntu CVSS 4.3)
CVE-2026-91767 OpenSSL 擴充 處理伺服器憑證的萬用字元名稱時發生 heap 溢位,可能造成崩潰
CVE-2026-91768 PHP-FPM listen.allowed_clients 只比對部分 IPv6 位址,可能被繞過存取限制
CVE-2026-91766 HTTP 串流包裝 跟隨轉址時把認證標頭送到其他網域,可能洩漏帳密
CVE-2026-93682 HTTP 串流包裝 轉址回應的 Location 為空時越界讀取,可能被導向非預期位置
CVE-2026-6103 Phar TAR 標頭整數溢位,可在壓縮檔中夾帶其他檔案(Ubuntu CVSS 4.3)
CVE-2026-92842 串流篩選器 convert.* 篩選器在特定參數下越界讀取,可能洩漏記憶體內容
CVE-2025-1218 mysqlnd 沒有檢查 MySQL 封包大小,惡意資料庫伺服器可讓 PHP 崩潰(Ubuntu 只在 20.04 以後版本修補)

上表的 CVSS 只列出已從 Ubuntu CVE 資料庫取得的分數,其他項目以官方文字描述為準。

哪些網站要特別注意

  • 會呼叫外部 SOAP 服務的網站:金流、物流、電子發票或政府介接常用 SoapClient。對方伺服器或中間人可以利用 CVE-2025-14181。
  • PHP-FPM 以 TCP 監聽並用 listen.allowed_clients 限制來源的主機:如果靠這項設定擋 IPv6 來源,更新前不要把 FPM 埠開放到外部網路。
  • 用 file_get_contents() 或 fopen() 抓取網址的程式:帶有帳密的請求跟隨轉址時可能外洩認證資訊(CVE-2026-91766)。
  • 會處理使用者上傳 TAR 或 Phar 檔的系統:要防範 CVE-2026-6103 的檔案注入。

上游修正版本

php.net 在 8.2.34、8.3.35、8.4.26、8.5.11 修正這 10 個 CVE;10 月 21 日接著發布修補 PHP2Shell 的 8.2.35、8.3.36、8.4.27、8.5.12。自行編譯或使用第三方套件來源的主機,建議直接升到各分支的最新版。

Ubuntu 官方修補版本

Ubuntu 版本 套件 修補版本
26.10 php8.5 8.5.9-0ubuntu2
26.04 LTS php8.5 8.5.4-0ubuntu1.4
24.04 LTS php8.3 8.3.6-0ubuntu0.24.04.12
22.04 LTS php8.1 8.1.2-1ubuntu2.27
20.04/18.04/16.04/14.04 php7.4/7.2/7.0/5 需 Ubuntu Pro(ESM),版本見原始公告

來源:Ubuntu USN-8936-1、PHP 8 ChangeLog。

更新與確認方式

Ubuntu/Debian:

sudo apt-get update
sudo apt-get install --only-upgrade 'php8.3*'   # 依實際版本替換 php8.1、php8.5…
dpkg-query -W 'php8.3*' | head
sudo systemctl restart php8.3-fpm               # 使用 mod_php 時改為重新啟動 apache2

RHEL/AlmaLinux/Rocky 或由主機控制台管理 PHP 的主機,請用發行版或控制台的更新機制升級,確認每一個 PHP 版本都已更新:

sudo dnf upgrade 'php*'
php -v
php -r 'echo PHP_VERSION, PHP_EOL;'

更新後要重新啟動 PHP-FPM 或網頁伺服器,否則常駐程序仍在執行舊版。完成後抽查首頁、後台登入,以及有用到 SOAP 或外部 API 的功能。

無法立即更新時

  • 沒有使用 SOAP 的網站可以停用 soap 擴充。
  • PHP-FPM 改用 Unix socket,或讓 TCP 監聽只綁定 127.0.0.1,不要只依賴 listen.allowed_clients 限制來源。
  • 串流函式抓取外部網址時,不要在網址或標頭中帶帳密;需要認證的請求改用 curl,並關閉自動轉址。

整理日期:2026 年 11 月 9 日。本文為官方安全通告摘要與管理操作說明,不代表個別主機已遭入侵。