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 存在像任意文件讀取、XXEXML 外部實體注入) 這種漏洞時,攻擊者可以利用此漏洞讀取 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