Zimbra 远程代码实行漏洞安全通告

发布时间 2019-03-18

漏洞编号和级别


CVE编号:暂无,危险级别:高危, CVSS分值:官方未评定


影响范围


受影响版本:

ZimbraCollaboration Server 8.8.11 之前的版本都受到影响。具体来说:

1. Zimbra < 8.7.11 版本中,攻击者可以在无需登录的情况下,实现远程代码实行

2. Zimbra < 8.8.11 版本中,在服务端使用 Memcached 做缓存的情况下,经过登录认证后的攻击者可以实现远程代码实行


漏洞概述


Zimbra 是一家提供专业的电子邮件App开发供应商,主要提供 Zimbra Collaboration Server 协作服务器套件、Zimbra Desktop 邮件管理App等邮件方面的App。


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