据Bleeping Computer报道,邮件巨头Zimbra某些版本的高严重性漏洞的技术细节已经浮出水面,通过利用该漏洞,黑客可以在没有身份验证或用户交互的情况下窃取登录信息,这意味着黑客无需账号密码即可登录用户的邮箱。
该漏洞编号为CVE-2022-27924,目前已经被收录至CNNVD,编号为CNNVD-202204-3913,受影响的Zimbra主要是开源和商业版本8.x和9.x。自2022年5月10日起,Zimbra 版本ZCS 9.0.0 的补丁24.1,以及ZCS 8.8.15的补丁31.1 中都发布了一个修复程序。
资料显示,Zimbra提供一套开源协同办公套件包括WebMail,日历,通信录,Web文档管理和创作。它最大的特色在于其采用Ajax技术模仿CS桌面应用软件的风格开发的客户端兼容Firefox,Safari和IE浏览器。其产品遍布全球,在各国/地区的政府、组织、金融和教育部门广泛使用。
悄无声息窃取登录凭证
SonarSource公司的研究人员报告了该漏洞,并对其进行描述,“未经身份验证的攻击者可以将任意 memcache 命令注入目标实例”。因此,攻击者可以通过将CRLF注入Memcached查找的用户名来进行利用。
Memcached是一个免费开源的、高性能的、具有分布式内存对象的缓存系统,通过减轻数据库负载加速动态Web应用。因此它可以存储电子邮件帐户的键/值对,通过减少对查找服务的 HTTP 请求数量来提高 Zimbra 的性能。但是,Memcache使用的是比较简单的基于文本的协议进行设置和检索。
研究人员进一步解释,攻击者可以通过对易受攻击的Zimbra实例的特制HTTP请求,来覆盖已知用户名的IMAP路由条目。而当真实用户登录时,Zimbra中的Nginx代理会将所有 IMAP 流量转发给攻击者,包括纯文本凭据。
邮件客户端(如Thunderbird、Microsoft Outlook、macOS等邮件应用程序和智能手机邮件应用程序)通常会将用户连接到其IMAP服务器的凭据存储在磁盘上,因此该漏洞在利用时不需要任何用户交互。但是,当邮件客户端重新启动或需要重新连接时,就需要重新对目标 Zimbra 实例进行身份验证。
事实上,在日常生活中,想要知道目标用户的电子邮件地址是一件非常容易的事情,而使用 IMAP 客户端也让攻击者可以更容易地利用该漏洞,但是这里面的详细信息并非强制性。另外一种攻击者则是利用技术允许绕过上述限制,在没有交互且不了解 Zimbra 实例的情况下窃取任何用户的凭据。
这是通过“Response Smuggling”来实现,利用了基于 Web 的 Zimbra 客户端的替代途径。通过不断向 Memcached 的共享响应流中注入比工作项更多的响应,攻击者可以强制随机 Memcached 查找使用注入的响应而不是正确的响应。这是因为 Zimbra 在使用 Memcached 响应时没有验证它的密钥。
那么,攻击者就可以轻松劫持电子邮件地址未知的随机用户的代理连接,仍然不需要任何交互或为受害者生成任何警报。
请及时更新安全措施
2022年3月1日,SonarSource公司研究人员就向Zimbra提交了这一漏洞信息,3月31日,Zimbra公司发布了第一个安全补丁,但是没有完全解决这一问题。5月10日,软件供应商发布了ZCS 9.0.0 补丁 24.1和ZCS 8.8.15 补丁 31.1解决了这些问题,方法是在发送到服务器之前创建所有 Memcache 密钥的 SHA-256 哈希,并敦促用户及时进行更新。
需要注意的是,SHA-256 不能包含空格,因此不能为 CRLF 注入创建新行,并且补丁版本不会发生命令注入攻击。