2026年1月8日 星期四

[技術文章] Zimbra OSE CVE-2025-68645 解決方法

 


近期 Zimbra Collaboration 出現一項新的安全漏洞公告(CVE-2025-68645),涵蓋 10.0.0~17、10.1.0~10.1.12 版本 (9.x 不受此影響),該漏洞可能被未經驗證的遠端攻擊者利用,造成系統資訊洩漏風險。

若為 Zimbra 商業版用戶,直接升級至 10.0.18 或 10.1.13 即可修補,若是 Zimbra OSE 開源版用戶,請參考本文的緩解措施修補問題。






CVE-2025-68645 漏洞說明

CVE-2025-68645 為 Zimbra Collaboration 10.0 與 10.1 部分版本中所發現之安全漏洞,問題發生於 /h/rest 端點所使用的 RestFilter 元件。

由於 RestFilter 在處理請求轉送(request dispatch)時缺乏適當的限制機制,導致未經驗證的遠端請求,可能影響內部請求流程,進而造成 Local File Inclusion(LFI) 的風險。

在可被成功利用的情境下,攻擊者可能包含 Zimbra WebRoot 目錄內的檔案,造成資訊洩漏,並可能作為後續攻擊的起點。



環境影響評估


目前開源版可自行建置安裝的最新版本為 Zimbra Collaboration 10.1.10,經比對原廠公告之受影響版本範圍(10.1.0 ~ 10.1.12),確認屬於可能受影響之系統版本。

由於該漏洞屬於「未登入即可觸發」的類型,若服務對外開放,理論上即存在被掃描與嘗試利用的風險,因此有必要在正式升級修補前,先行採取風險緩解措施。



正確修補方式


依 Zimbra 官方說明,CVE-2025-68645 已於 Zimbra Collaboration 10.1.13 版本中完成修補,升級至該版本(或以上)為唯一的根本解法。

在尚未完成升級前,任何設定調整皆屬於風險緩解(Mitigation),目的在於降低漏洞被實際利用的可能性。



實際採取的緩解措施


我的解決方式是採用 Zimbra 內建的 Nginx 反向代理服務,利用其 Proxy 層直接封鎖漏洞入口 /h/rest,使相關請求無法進入後端 Jetty 與 RestFilter 元件。

Zimbra Proxy 的 Nginx 設定係由範本產生,實際調整的範本檔案如下:

/opt/zimbra/conf/nginx/templates/nginx.conf.web.https.default.template

(如環境同時提供 HTTP 服務,亦一併調整 nginx.conf.web.http.default.template)

於對應的 server { } 區塊中,新增以下封鎖規則:

location ^~ /h/rest {
    return 403;
}

設定完成後,切換至 Zimbra 身份使用 Zimbra Proxy 提供的管理指令重新產生並套用設定:

su - zimbra
zmproxyconf
zmproxyctl restart

完成套用後,透過實際測試確認該端點已於 Proxy 層被阻擋:

curl -k -I https://mail.example.com/h/rest

回傳結果為 HTTP/1.1 403 Forbidden,顯示請求已成功被 Nginx 拒絕。



影響評估與結論


經實際驗證,封鎖 /h/rest 端點並不影響以下功能:

Webmail(Modern / Classic)、管理後台、SMTP / IMAP / POP3、ActiveSync 等核心服務皆維持正常運作。

由於 /h/rest 並非 Zimbra 10.x 核心功能所必須,封鎖該端點對實際營運影響極低,卻可有效降低 CVE-2025-68645 被利用的風險。

之後待 Zimbra OSE 開源版已有 Zimbra Collaboration 10.1.13 以上版本可建置時,再升級正式修補作業。

至此,本次漏洞風險已獲得有效控制。