通过 SNMP 处理程序的 ZCS 命令注入允许未经身份验证的远程代码执行

通过 SNMP 处理程序的 ZCS 命令注入允许未经身份验证的远程代码执行


影响 Zimbra Collaboration Suite 电子邮件平台的一个关键远程命令执行漏洞已被积极且广泛地利用,使攻击者无需事先访问系统即可收集完整的邮箱档案和持久身份验证凭据。

该漏洞编号为 CVE-2026-73570,CVSS 评分为 8.9,源于平台 SNMP 通知子系统中的条目清理不正确。当连接到批量邮件传递代理时,该管道允许未知的远程攻击者注入在 Zimbra 操作系统的 root 用户帐户下执行的任意操作系统命令。

维护者 Synacor 最初于 2026 年 7 月 20 日悄然修复了 Zimbra Collaboration Suite 版本 10.1.20 中的漏洞,但将公开披露推迟到 2026 年 8 月 13 日。在这长达一周的披露延迟期间,竞争对手开始大规模设计更改,而不是扫描工程。微软和波兰国家网络安全机构 CERT Polska 获得的遥测数据证实,威胁组织在 7 月底和 8 月积极探测企业电子邮件基础设施,在大多数运营团队意识到补丁严重性之前就设置了后门。

在协议级别,该缺陷存在于 Postfix 和上游邮件服务将操作状态通知传递给内部简单网络管理协议守护程序的方式中。 Zimbra 安装一个可选的遥测服务包,指定为 zimbra-snmp,它运行 swatchdog 日志监控程序来扫描日志行并发送 snmptrap 警报。当传入的 SMTP 事务解析用户控制的标头参数时,特制的信封字段将直接注入到本地系统目标中,而无需 shell 参数。

swatchdog 守护程序使用正则表达式模式规则监视这些日志。一旦匹配,它将接收到的文本变量插入到不带引号的字符串中,该字符串直接传递到系统层的执行调用。由于分号、反斜杠和管道等字符不受日志解析过程的影响,因此外部调用者可以将命令直接附加到操作系统的陷阱执行行。

图片来源:微软博客文章

观察到的漏洞首先是轻量级侦察扫描,其中威胁参与者发送 SMTP 数据包,这些数据包设计前端逻辑以通过curl 或 nslookup 进行带外网络调用。这些回调在较重的负载到达之前确认命令的执行。验证成功后,攻击者将直接写入 JSP 网页的 Base64 编码字符串注入可访问的 Web 服务器目录,例如 Jetty 应用程序服务器的根目录 (/opt/zimbra/jetty/webapps/zimbra/)。

通过在 Jetty 容器内编写和执行可选文件集,操作员可以运行最初可供 zimbra Unix 用户使用的 zmprov 命令行实用程序。这提供了 LDAP 管理令牌、身份验证密钥和数据库信息,从而可以在渗漏到外部云存储桶之前将用户的整个邮箱导出到加密存档。


POST /zimbra/public/jsp_shell.jsp HTTP/1.1
Host: mail.target-enterprise.com
Content-Type: application/x-www-form-urlencoded

cmd=zmprov+getAllAccounts+-v+domain.com

zmmailbox -z -m user@domain.com getRestURL "//?fmt=tgz" > /tmp/backup.tgz

CVE-2026-73570 的修复需要将节点升级到 Zimbra 版本 10.1.20 或更高版本,该版本在监控子系统中执行串联字符串,并将参数数组直接传递到系统执行例程。对于无法在多节点集群之间执行即时二进制传输的组织,维护人员建议完全禁用 SNMP 服务包,以消除易受攻击的样本狗循环。


su - zimbra
zmcontrol stop snmp
zmprov ms `zmhostname` -zimbraServiceEnabled snmp

禁用 SNMP 会禁用外部遥测和自动性能跟踪,从而中断中央监控管道和集群控制面板。然而,Shadowserver 基金会的运营情报显示,自披露以来,已观察到约 274 个受到损害的生产样本,而约 10,000 个面向公众的 Zimbra 部署正在接受扫描脚本。使用暴露的邮件网关的系统团队应将不需要的服务器视为易受攻击的服务器,扫描 Jetty 部署目录以查找未经授权的 JSP 文件,轮换所有 LDAP 和 zimbra 服务帐户凭据,并将管理端点限制为内部跳转主机。





Source link

Leave a Reply

Your email address will not be published. Required fields are marked *