curl 8.22 修正 wolfSSL CA 快取覆蓋信任設定:代理客戶端稽核指南

明亮的網際網路憑證驗證實驗室將舊快取信任庫與新選定的信任庫清楚隔離

curl 專案於 2026 年 9 月 2 日隨 curl 8.22.0 公布 CVE-2026-82208。公告描述一個範圍很窄的憑證驗證問題:應用程式使用 wolfSSL TLS 後端建置的 libcurl、啟用 CA 快取,並透過 CURLOPT_SSL_CTX_FUNCTION 回呼替換信任庫。

在這個組合下,回呼返回後,libcurl 可能靜默重新安裝快取 CA 庫。原本被回呼所選信任庫拒絕、卻被舊快取信任的憑證,可能被錯誤接受。curl 專案將嚴重性評為低。

代理自動化團隊應檢查內嵌 libcurl 的 SDK、蒐集器與驗證工作程序,但不能把範圍擴大成所有 curl 或所有代理連線。命令列 curl 不受影響,其他 TLS 後端也不在公告所述範圍。

核對所有觸發條件

只有以下條件全部成立或無法確認時,部署才應視為可能受影響:

  1. 執行中的 libcurl 版本為 8.9.1 至 8.21.0;
  2. 使用 wolfSSL TLS 後端建置;
  3. 已啟用 CA 快取;
  4. 應用程式設定 CURLOPT_SSL_CTX_FUNCTION 回呼;
  5. 回呼會替換或修改信任庫。

公告列出早於 8.9.1 和 8.22.0 以上版本不受影響。不要以同一主機的 curl 命令版本推測應用程式執行庫;應用可能捆綁或動態載入另一個 libcurl。

盤點執行庫、後端與回呼

以實際部署成品為準,為每個服務記錄:

application_build
loaded_libcurl_version
tls_backend
ca_cache_enabled
ssl_context_callback_present
trust_store_replaced
deployment_region

應用程式和信任設定只記錄別名,不得記錄 CA 私密資料、代理密碼、權杖、Cookie 或客戶識別資訊。

優先檢查長時間執行、會重用 TLS 設定或共享 handle 的資料蒐集、廣告驗證與市場研究程序。此問題針對信任庫選擇,不涉及住宅 IP 輪替、代理工作階段黏著性或 DNS。

依官方順序修正

curl 公告依序建議:

  1. 將 curl 與 libcurl 升級至 8.22.0;
  2. 套用官方修補程式並重新建置受影響版本;
  3. 前兩項暫不可行時,避免在 wolfSSL 後端使用 CURLOPT_SSL_CTX_FUNCTION

安全升級必須確認程序實際載入的程式庫,並重新啟動或排空可能保留舊狀態的工作程序。可為無關相容性問題準備回復成品,但回復不得重新引入受影響的信任路徑。

建立信任隔離測試

只使用授權實驗環境中的自建測試端點與憑證,不得為第三方名稱製作誤導性憑證。

準備兩套測試信任設定:

  • 快取基準信任測試 CA A;
  • 回呼選定的新設定只信任測試 CA B,並拒絕 A。

依序執行:

  1. 在隔離環境初始化符合受影響條件的客戶端設定;
  2. 使用基準設定填入 CA 快取;
  3. 安裝回呼選定的新信任設定;
  4. 連線至使用測試 CA A 憑證的端點;
  5. 斷言連線被拒絕;
  6. 連線至測試 CA B 端點並斷言成功;
  7. 在 libcurl 8.22.0 上搭配連線重用與程序重啟重複測試。

通過條件是嚴格執行回呼所選信任決策。TCP 連線、HTTP 回應或代理通道成功都不足以單獨證明驗證正確。

分別驗證代理及目標信任邊界

應用程式可能同時驗證 HTTPS 代理和來源站 TLS。必須明確記錄每個邊界所用信任庫與回呼:

邊界預期信任設定驗證證據
HTTPS 代理核准的代理 CA 集合代理 TLS 結果
CONNECT 內來源站核准的來源站 CA 集合來源站 TLS 結果
直連測試端點回呼選定測試集合受控憑證結果
重用連線邊界身分不變連線與信任別名

不得為了通過測試而關閉憑證驗證,否則會移除測試原本要保障的安全屬性。

觀察升級回歸

金絲雀期間監控去識別化的憑證失敗原因類別、TLS 交握延遲、新連線速率、代理通道成功率、首次請求成功率及有界重試量。正確拒絕增加可能表示舊行為過度寬鬆,應調查而不是放寬驗證。

憑證拒絕也不是輪替代理出口或改為直連的訊號;那些動作只會掩蓋信任錯誤。

升級檢查清單

  • [ ] 已確認程序實際載入的 libcurl 版本。
  • [ ] 已識別每個成品的 TLS 後端。
  • [ ] 已定位 wolfSSL 8.9.1 至 8.21.0 建置。
  • [ ] 已確認或排除 CA 快取。
  • [ ] 已盤點 SSL context 回呼及信任替換。
  • [ ] 已部署 libcurl 8.22.0 或官方修補。
  • [ ] 已重新啟動或排空長駐工作程序。
  • [ ] 設定替換後測試 CA A 會被拒絕。
  • [ ] 測試 CA B 仍按預期被接受。
  • [ ] 已分開驗證代理及來源站信任邊界。
  • [ ] 未加入任何憑證驗證繞過。
  • [ ] 日誌與測試資料不含憑證或私密材料。

相關 98IP 內容包括代理憑證輪替curl 代理驗證 407 疑難排解代理容錯移轉復原演練

常見問題

命令列 curl 會受到影響嗎?

不會。公告明確指出命令列工具不受影響;相關路徑是符合特定 wolfSSL、CA 快取及回呼條件的 libcurl 應用程式。

OpenSSL 或其他 TLS 後端會受影響嗎?

公告指出問題只存在於 wolfSSL 後端。應核對實際執行後端,不要只依賴建置文件。

能否暫時關閉憑證驗證?

不能,這會造成更廣泛的信任風險。應升級、修補,或依官方建議避開受影響的回呼組合。

輪替代理 IP 能緩解問題嗎?

不能。代理輪替改變路由,不會改變客戶端驗證憑證所使用的 CA 庫。

合規說明

只使用自有或獲授權的測試憑證、網域及端點。保護信任庫資料,遵循事件應變與變更控制要求,並只將代理用於合法、遵守目的服務條款、隱私規則及速率限制的工作負載。

資料說明:curl 專案「wolfSSL CA-cache hit overrides callback」,CVE-2026-82208,發布於 2026 年 9 月 2 日;curl 8.22.0 發布說明,2026 年 9 月 2 日。