curl 安全更新 USN-8927-1/USN-8932-1:proxy 憑證外洩與 HTTP/2 釋放後使用

Ubuntu 於 2026 年 10 月 14 日發布兩則 curl 通告:USN-8927-1 修補 Ubuntu 26.04 LTS 的 18 個 CVE,USN-8932-1 修補 14.04~24.04 LTS 的 9 個 CVE。很多網站管理者以為 curl 只是指令列工具,其實 PHP 的 curl 擴充、WordPress 的 HTTP API、外掛更新檢查、金流與第三方 API 呼叫都會用到底層的 libcurl。

網站在哪些地方用到 libcurl

libcurl 風險點:HTTP/2 上傳、HTTP proxy、FTP 萬用字元、.netrc 帳密、HSTS 快取、SFTP/SCP 轉址

需要優先注意的 CVE

CVE curl 官方等級 說明
CVE-2026-92392 High HTTP/2 上傳時伺服器回傳 RST_STREAM,發生釋放後使用,可能崩潰或執行程式碼。影響 8.12.0 以後版本,Ubuntu 只有 26.04 LTS(curl 8.18)受影響
CVE-2026-86414 Low HTTP proxy 在 CONNECT 階段回傳非預期的認證要求,騙 libcurl 把目標主機的帳密送給 proxy
CVE-2026-92388 Low FTP 萬用字元比對的回呼混用,Ubuntu 說明可能導致崩潰或執行程式碼
CVE-2026-94266 Low 帳密來自 .netrc 時,CURLINFO_EFFECTIVE_URL 回傳的網址會包含密碼,可能被寫進日誌
CVE-2026-87862/87863 Low HSTS 快取匯入或 max-age 數值異常時遺失條目,可能退回未加密的 HTTP
CVE-2026-86410/87865 Low 轉址到 SFTP/SCP 時沒有驗證主機金鑰,或把金鑰不符誤判為缺少金鑰,有中間人風險
CVE-2026-86409 Low 把 CURLOPT_AWS_SIGV4 設為 NULL 後,舊的 SigV4 認證標頭仍會送出

USN-8927-1 另外修補了 WebSocket(GnuTLS)、Cookie jar、TFTP、IMAP、MIME 遞迴、-J 覆寫保護等 11 個問題,完整清單請見原始公告。上表等級取自 curl 官方漏洞資料。

上游修正版本

curl 官方在 8.14.3、8.16.2、8.20.2、8.23.0 等版本修正上述問題(CVE-2026-86409 與 87864 在 8.22.0 已修正)。自行編譯 curl,或在容器內使用上游映像的環境,建議升到 8.23.0 以上。

Ubuntu 官方修補版本

Ubuntu 版本 通告 curl 修補版本
26.04 LTS USN-8927-1 8.18.0-1ubuntu2.8
24.04 LTS USN-8932-1 8.5.0-2ubuntu10.16
22.04 LTS USN-8932-1 7.81.0-1ubuntu1.30
20.04/18.04/16.04/14.04 USN-8932-1 需 Ubuntu Pro(ESM),版本見原始公告

來源:Ubuntu USN-8927-1、Ubuntu USN-8932-1、curl 安全公告。

更新與確認方式

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install --only-upgrade curl 'libcurl*'
dpkg-query -W curl 'libcurl*'

# RHEL/AlmaLinux/Rocky
sudo dnf upgrade curl libcurl
rpm -q curl libcurl

libcurl 是共享函式庫,已經在執行的程式不會自動換成新版。更新後要重新啟動 PHP-FPM(或網頁伺服器)以及其他常駐服務。可以用下列指令找出仍在使用舊版函式庫的程序:

sudo needrestart -r l          # Ubuntu/Debian
sudo dnf needs-restarting -s   # RHEL 系列
php -r 'print_r(curl_version()["version"]); echo PHP_EOL;'

無法立即更新時

  • 程式透過 proxy 對外連線時,只使用自己管理的 proxy,避免公開或第三方 proxy(CVE-2026-86414)。
  • 不要在日誌中記錄 CURLINFO_EFFECTIVE_URL,或記錄前先移除網址中的帳密。
  • 主機上若有 26.04 LTS 的程式大量用 HTTP/2 上傳,可暫時設定 CURLOPT_HTTP_VERSION 為 HTTP/1.1。

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