一个影响 Zimbra Collaboration Suite 邮件平台的严重远程命令执行漏洞正在被积极广泛地利用。攻击者无需事先获取系统访问权限,就可以窃取完整的邮箱存档和持久化认证凭据。
该漏洞(追踪编号为 CVE-2026-73570)的 CVSS 评分为 8.9,源于该平台 SNMP 通知子系统内部的输入清理不当。当与面向公众的邮件传输代理配合使用时,该管道允许未经身份验证的远程攻击者注入任意操作系统命令,并以底层 Zimbra 系统账户的权限执行这些命令。
最初,维护方 Synacor 于 2026 年 7 月 20 日在 Zimbra Collaboration Suite 10.1.20 版本中悄悄修复了该漏洞,但将公开披露推迟到了 2026 年 8 月 13 日。在长达数周的披露延迟期间,攻击者对二进制文件中的变更进行了逆向工程分析,并针对公共实例发起了扫描攻击。微软和波兰国家网络安全机构 CERT Polska 捕获的遥测数据证实,整个 7 月下旬至 8 月间,威胁组织一直在积极探测企业的邮件基础设施,并在大多数运维团队意识到该漏洞的严重性之前部署了后门。
在协议层面上,该漏洞存在于 Postfix 和上游邮件服务将运行状态警报传递给内部简单网络管理协议(SNMP)守护进程的路径中。Zimbra 会安装一个可选的遥测服务包(名为 zimbra-snmp),运行 swatchdog 日志监控工具来扫描日志行并发送 SNMPTrap 警报。当入站 SMTP 事务解析用户可控的标头参数时,经过特殊构造的信封字段会直接记录到本地的 syslog 目标中,而且未对 shell 参数进行安全清理。
swatchdog 守护进程使用正则表达式模式规则监视这些日志。一旦匹配成功,它会将捕获的文本变量插值进一个未加引号的字符串中,并将其直接传递给系统 shell 执行调用。由于分号、反引号和竖线等字符在日志解析过程中保持不变,外部调用者可以直接将命令追加到操作系统陷阱执行字符串中。
已观察到的攻击行为始于轻量级的侦察扫描。威胁行为者会发送携带 shell 逻辑的 SMTP 数据包,旨在通过 curl 或 nslookup 发起带外网络调用。这些回调会在更大的载荷到达之前确认命令执行情况。一旦验证成功,攻击者便会注入 Base64 编码的字符串,将 JSP Web 后门直接写入可以通过 Web 访问的服务器目录中,例如 Jetty 应用服务器根目录(/opt/zimbra/jetty/webapps/zimbra/)。
在 Jetty 容器内建立任意文件写入和执行权限后,攻击者会执行 zimbra Unix 用户原生可用的 zmprov 命令行工具。这使其可以获取管理级 LDAP 令牌、身份验证密钥和数据库凭据,从而解锁访问权限,将完整的用户邮箱导出到加密中转存档,随后将其外泄至外部云存储桶。
POST /zimbra/public/jsp_shell.jsp HTTP/1.1Host: mail.target-enterprise.comContent-Type: application/x-www-form-urlencodedcmd=zmprov+getAllAccounts+-v+domain.comzmmailbox -z -m user@domain.com getRestURL "//?fmt=tgz" > /tmp/backup.tgz
要修复 CVE-2026-73570,需要将节点升级至 Zimbra 10.1.20 版或更高版本。该版本将监控子系统中的 shell 拼接字符串执行替换为将参数数组直接安全地传递给系统 execve 例程。对于无法在多节点集群中立即进行二进制迁移的组织,维护人员建议完全禁用 SNMP 服务包,以消除存在漏洞的看门狗循环。
su - zimbrazmcontrol stop snmpzmprov ms `zmhostname` -zimbraServiceEnabled snmp
禁用 SNMP 会停止外发遥测数据和自动性能捕获,从而导致中央监控管道和集群可观测性仪表盘的功能下降。然而,Shadowserver 基金会的运维情报显示,在漏洞披露后,已观察到约 274 个受影响的生产实例,而且有大约 10000 个面向公众的 Zimbra 部署仍然暴露在扫描脚本的威胁之下。如果系统团队运行着暴露在外的邮件网关,就必须将未打补丁的服务器视为已经遭到入侵,检查 Jetty 部署目录中是否存在未经授权的 JSP 文件,轮换所有 LDAP 和 Zimbra 服务账户的凭据,并将管理端点限制在内部跳转主机上。
原文链接:https://www.infoq.com/news/2026/10/zimbra-command-injection/