一个隐藏在明处的存储型XSS漏洞

Zimbra协作套件中新披露的一个漏洞,让安全团队有理由再三检查他们的补丁日志。该漏洞编号为CVE-2025-66376,是Classic Web Client(经典Web客户端)中的一个存储型跨站脚本(XSS)问题,这个较旧的、基于HTML的界面至今仍被许多Zimbra部署与现代化的Web应用一起使用。

使这个漏洞引人注目的地方在于,受害者几乎不需要任何操作就能触发它。据披露,受害者只需在经典UI中打开一封恶意邮件,就足以在已认证的网页邮件会话中运行攻击者控制的代码。从那里,攻击者可以窃取会话令牌、浏览器中保存的密码,甚至双因素认证(2FA)的备用码——用户在其主要2FA方式不可用时所依赖的那些恢复码。

攻击如何运作

存储型XSS漏洞之所以特别危险,是因为恶意载荷不需要单独点击或下载。它会被直接嵌入到邮件客户端自动渲染的内容中,在本案例中是通过嵌入电子邮件的层叠样式表(CSS)指令实现的。Zimbra的经典Web客户端未能对这些内容进行适当的清理,导致CSS能够在登录用户的邮箱会话上下文中执行JavaScript。

一旦该代码运行,它就会继承受害者会话已经拥有的所有访问权限。正因如此,它能够触及收件箱之外的区域,并获取认证令牌、浏览器中缓存的凭据以及用于账户恢复的2FA备用码。实际上,这将打开一封邮件的行为变成了潜在的完整账户接管,受害者既不需要输入密码,也不需要点击任何可疑链接。

这并不是经典Web客户端在处理嵌入内容时第一次出现问题。Zimbra此前不得不在同一界面中修复类似的HTML和ICS文件清理问题,这一模式突显了为什么仍在使用这个旧版客户端的组织会持续面临风险,除非他们积极打补丁或完全迁移离开。

谁需要采取行动

该漏洞影响Zimbra Collaboration(ZCS)10的10.0.18之前版本和10.1的10.1.13之前版本。Zimbra已经发布了修复版本,其自身安全公告将补丁描述为解决了经典Web客户端中的一个严重存储型XSS问题。运行受影响版本的组织应将该更新视为优先事项,而不是安排在下一个例行维护窗口,因为漏洞利用不需要用户进行除打开邮件之外的任何交互。

由于该缺陷存在于会话级访问层面,如果在应用更新前账户已经遭到入侵,仅打补丁可能不够。管理员还应考虑审计近期的登录活动、轮换会话令牌,并为在漏洞未修补期间访问过经典UI的账户重新签发2FA备用码。

这对你意味着什么

如果你是Zimbra网页邮件的用户,无论是个人、小型企业,还是大型组织邮件基础设施的一部分,这个漏洞都在提醒你:认证令牌和备用码的安全程度,仅仅等同于渲染你收件箱的软件的安全性。双因素认证是针对基于密码的攻击的强大防御手段,但一个能够直接从浏览器会话中窃取备用码的存储型XSS漏洞表明,如果底层的网页客户端本身被攻破,2FA也并非万能的灵丹妙药。

对于日常用户而言,实际风险取决于你的邮件提供商或IT部门是否运行Zimbra,特别是经典Web客户端是否仍在使用。大多数人除了等待管理员应用补丁外,无需做任何事情。然而,对于管理员和IT团队来说,这是一个需要立即处理的行动项。

可行的应对措施

  • 确认你的Zimbra部署运行的是ZCS 10.0.18、10.1.13或更高版本;任何更早的版本都暴露在CVE-2025-66376之下。
  • 如果你的组织仍依赖经典Web客户端,请优先打补丁,而不是推迟到你计划中的现代界面迁移时间线之后。
  • 补丁完成后,审查近期的认证日志中是否存在异常,并考虑对在暴露窗口期内活跃的账户轮换会话令牌。
  • 对于有任何可疑活动迹象的账户,重新签发2FA备用码,因为被盗的备用码可能完全绕过双因素保护。
  • 今后,将来自你邮件提供商的存储型XSS公告视为高优先级,因为这已经不是Zimbra旧版客户端第一次需要紧急清理修复了。

领先此类漏洞一步的关键在于日常的补丁纪律,并确切了解你的组织日常实际使用哪个网页客户端。现在花几分钟确认你Zimbra的版本,远比日后恢复一个被攻破的邮箱要划算得多。