Zimbra 遠程代碼執行漏洞安全通告
發布時間 2019-03-18漏洞編號和級別
CVE編號:暫無,危險級別:高危, CVSS分值:官方未評定
影響范圍
受影響版本:
ZimbraCollaboration Server 8.8.11 之前的版本都受到影響。具體來說:
1. Zimbra < 8.7.11 版本中,攻擊者可以在無需登錄的情況下,實現遠程代碼執行
2. Zimbra < 8.8.11 版本中,在服務端使用 Memcached 做緩存的情況下,經過登錄認證后的攻擊者可以實現遠程代碼執行
漏洞概述
Zimbra 是一家提供專業的電子郵件軟件開發供應商,主要提供 Zimbra Collaboration Server 協作服務器套件、Zimbra Desktop 郵件管理軟件等郵件方面的軟件。
3 月 13 日, 國外安全研究員 tint0 發布了一篇博客,指出 Zimbra Collaboration Server 系統全版本存在一系列漏洞,通過惡意利用可以導致遠程代碼執行漏洞。
漏洞細節
當 Zimbra 存在像任意文件讀取、XXE(XML 外部實體注入) 這種漏洞時,攻擊者可以利用此漏洞讀取 localconfig.xml 配置文件,獲取到 zimbra admin ldap password,并通過 7071 admin 端口進行 SOAP AuthRequest 認證,得到 admin authtoken,然后就可以利用 admin authtoken 進行任意文件上傳,從而達到遠程代碼執行的危害。
而 tint0 博客文章里指出,即使在 7071 admin 端口做了防火墻配置、不對外開放的情況下,也可以利用存在于 443 普通用戶端口服務里身份認證的一個特性,配合 ProxyServlet.doProxy() 方法里的 SSRF,同樣也能完成 admin SOAP AuthRequest 認證,得到 admin authtoken。
下圖為配合利用 XXE 和 ProxyServlet SSRF 漏洞拿到 admin authtoken 后,通過文件上傳在服務端執行任意代碼的本地測試截圖:
除此之外,在 Zimbra服務端使用 Memcached 做緩存服務時,還可以利用 SSRF 攻擊 Memcached 緩存服務,通過反序列化實現遠程代碼執行。不過由于 Zimbra 的安裝過程中的 bug,導致單服務器的情況下,Memcached 盡管會啟動,但并不會使用,因此 SSRF 攻擊 Memcached 反序列化的利用場景比較有限。
修復建議
更新官方發布的安全補丁或升級 Zimbra 到最新版:https://wiki.zimbra.com/wiki/Zimbra_Security_Advisories。
參考鏈接
https://blog.tint0.com/2019/03/a-saga-of-code-executions-on-zimbra.html
https://wiki.zimbra.com/wiki/Zimbra_Security_Advisories