CVE-2026-73570: Zimbra Command Injection via SNMP Is Being Exploited—Update to 10.1.20 and Check for Compromise
A crafted email is all it takes: On Zimbra servers with the zimbra-snmp package and SNMP notifications enabled, attackers can execute commands as the zimbra user without authentication (CVE-2026-73570, CVSS 8.9). The vulnerability is being exploited and was fixed in 10.1.20. Update, apply the workaround until then, and check for web shells and persistence.
In Zimbra Collaboration (ZCS) prior to version 10.1.20, an unauthenticated attacker can execute operating system commands with the privileges of the zimbra user if the optional zimbra-snmp package is installed and SNMP notifications are enabled. The trigger is a crafted SMTP request—that is, an email to the server—whose contents reach SNMP notification processing without filtering. The vulnerability is identified as CVE-2026-73570 and has a CVSS score of 8.9. Zimbra reported it on June 26, 2026, and fixed it in version 10.1.20 on July 20, 2026. CERT Polska warned of an active attack campaign on August 17, 2026; the U.S. agency CISA added the vulnerability to its Known Exploited Vulnerabilities (KEV) catalog on August 21, 2026. The update is available.
Support with updating and checking
If you need help securing, checking for compromise, or updating Zimbra Collaboration, please use the contact form on adeptio.ch. I can also get back to you at short notice.
Key points at a glance
| Feature | Details |
|---|---|
| Advisory | Zimbra Security Advisory of June 26, 2026 (temporary mitigation), fix in ZCS 10.1.20 of July 20, 2026 |
| CVE | CVE-2026-73570, published August 13, 2026 |
| Rating | CVSS 3.1: 8.9 (high), AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:L |
| Vulnerability type | OS Command Injection (CWE-78) in SNMP notification processing (swatchdog) |
| Prerequisites | no authentication; zimbra-snmp package installed, SNMP notifications enabled through snmp_notify, swatchdog service running |
| Affected versions | ZCS prior to 10.1.20 |
| Fixed versions | ZCS 10.1.20 and later |
| Exploitation | confirmed by CERT Polska (report of August 17, 2026); in CISA KEV since August 21, 2026 |
| CISA deadline for U.S. federal agencies | August 24, 2026 |
| Workaround | Disable SNMP notifications or uninstall zimbra-snmp; restrict SNMP and SMTP to trusted hosts |
Affected versions and updates
| Version branch | Affected | Fixed |
|---|---|---|
| ZCS 10.1 | 10.1.x prior to 10.1.20 | 10.1.20 and later |
| older branches (10.0, 9.0) | yes, according to NVD all versions prior to 10.1.20 | no fixed version named in the Sources (as of October 6, 2026); move to 10.1.20 or later |
Only installations with zimbra-snmp installed and SNMP notifications enabled are affected. According to CERT Polska, the swatchdog service that processes notifications runs by default. Without zimbra-snmp, a server cannot be attacked through this path according to the advisory description; the update to 10.1.20 also fixes additional vulnerabilities (XSS in the Classic Web Client, bypass of forwarding restrictions, SSRF in the Nextcloud integration, access controls in EWS and mailbox delegation), so it is advisable even without SNMP.
The installed version is displayed by zmcontrol -v as the zimbra user (release number, build, platform, and build date according to the Zimbra Wiki):
su - zimbra
zmcontrol -v
Whether the vulnerable configuration is active can be checked as follows, based on SecureLayer7’s analysis:
su - zimbra
zmlocalconfig snmp_notify
zmswatchctl status
grep dosnmp /opt/zimbra/conf/swatchrc
If snmp_notify is set to true and swatchdog is active, the server is vulnerable on a version prior to 10.1.20.
What is known about the exploitation
Microsoft describes the sequence as follows: swatchdog monitors /var/log/zimbra.log and triggers an SNMP trap when service statuses change. Shell metacharacters reach this processing through a crafted SMTP request; upon a status change, swatchdog incorporates the attacker-controlled value into a call to snmptrap, which runs through a shell. The commands run with the privileges of the zimbra service account.
Timeline according to the Sources:
-
June 26, 2026: Zimbra reports the vulnerability in a security advisory with a temporary mitigation.
-
July 20, 2026: ZCS 10.1.20 is released with the permanent fix.
-
July 28 through August 7, 2026: Microsoft observes probing of the injection point using two different tools.
-
August 13, 2026: The CVE entry is published.
-
August 17, 2026: CERT Polska warns of an active campaign and publishes checking guidance.
-
August 21, 2026: CISA adds the vulnerability to the KEV catalog, with a deadline of August 24, 2026.
-
September 30, 2026: Microsoft publishes an analysis of the attacks with indicators.
According to Help Net Security, the Shadowserver Foundation counted 155 compromised Zimbra instances on the internet on August 20, 2026, rising to 274 a few days later. More than 8,200 instances had not been updated at that time, although not all of them had the vulnerable SNMP configuration.
After exploitation, according to Microsoft, the attackers deployed JSP web shells in several Jetty and mailboxd directories, established persistence through a systemd service, Cron entries, and SSH keys, and gained root privileges by manipulating the PAM configuration. They read credentials using zmlocalconfig -s, queried the zimbraPreAuthKey, zimbraAuthTokenKey, and zimbraTwoFactorAuthSecret attributes via LDAP, archived the mail store with tar, and attempted exfiltration to Azure Blob Storage via AzCopy; according to Microsoft, it has not been confirmed whether the transfer was completed. Microsoft also identifies a coin miner. The party behind the attacks is unknown.
Immediate actions
-
Determine the version and configuration using
zmcontrol -v,zmlocalconfig snmp_notify, andzmswatchctl status(see above). -
Check for compromise and preserve logs before making changes so analysis remains possible (see next section).
-
Update to ZCS 10.1.20 or later. Zimbra, CERT Polska, CISA, and Microsoft all recommend this. Installations on older branches must move to 10.1.20 or later.
-
Implement the workaround until the update: Microsoft recommends uninstalling the
zimbra-snmppackage or disabling SNMP notifications. The commands are listed below. -
Reduce exposure: According to Microsoft, restrict SNMP and SMTP to trusted hosts where mail operations allow it. SMTP remains reachable on an MTA that receives mail from the internet; in that case, updating or applying the workaround are the effective measures.
To disable SNMP notifications, SecureLayer7 provides the following commands to run as the zimbra user:
zmlocalconfig -e snmp_notify=false
zmswatchctl stop
Afterward, SNMP traps will be unavailable for service failures; monitoring should be handled another way until the update.
Checking for compromise
The vulnerability was exploited before many systems were updated. Updating to 10.1.20 closes the attack path but does not remove web shells, systemd services, or SSH keys that have already been deployed. Microsoft explicitly recommends searching for redundant persistence and rotating Zimbra authentication keys.
Logs and directories according to CERT Polska
CERT Polska identifies two checks:
-
/var/log/zimbra.logfor entries in the form ofService status change: [Payload] changed from stopped to runningorchanged from running to stoppedwhere suspicious strings appear in place of the service name. -
Files created by the
zimbrauser within the last 30 days in/opt/zimbra/jetty/webapps/,/opt/zimbra/jetty_base/webapps/, and/tmp/. Hive Security provides the following for this:
find /opt/zimbra/jetty/webapps /opt/zimbra/jetty_base/webapps /tmp -user zimbra -mtime -30 -ls
Since the attacks reportedly began as early as late July, according to Microsoft, a period longer than 30 days may be appropriate.
Additional traces according to Microsoft
| Area | What to check |
|---|---|
| Web shells | JSP files and compiled artifacts (*_jsp.java) in the jetty_base/webapps/, jetty/webapps/, mailboxd/webapps/, and work/zimbra/jsp/ paths under /opt/zimbra |
| systemd | zimlog.service service in /etc/systemd/system/, as well as units with unexpected owners, enabled status, or timestamps |
| Cron | Entries containing * * * * * or @reboot |
| SSH | Changes to authorized_keys, access to /opt/zimbra/.ssh/zimbra_identity |
| Privilege escalation | Changes to /etc/pam.d/sudo, NOPASSWD entries in /etc/sudoers.d/, zmmailboxd.out as a symbolic link to a PAM configuration |
| Data exfiltration | /opt/zimbra/final.tar.gz archive, AzCopy download |
| Processes | Calls to snmptrap followed by shell metacharacters and a call to wget or curl, ending with a # comment |
Network indicators
The addresses are written in defanged form as in the Microsoft analysis.
| Indicator | Meaning according to Microsoft |
|---|---|
117.107.25[.]243:7071 | C2 for the dropper, delivers de.sh |
192.255.193[.]111:9004 | C2 of the coin miner |
psk1zim[.]abrdns[.]com/agentws | WebSocket channel of zimclient2 |
transzimbra[.]linkpc[.]net | C2 for the dropper |
File hashes (SHA-256)
| File | SHA-256 |
|---|---|
de.sh | dee5af1c0f76b45d28bafd6e60c07bb8e391d98addf81ef8f13d073acdb3c48a |
agent2.sh | 6ab7de2509038edf580aef6229c1c3db17f4da8f2d7d940818faf617d1938244 |
zimdown2 | bf28f38122bf20d5fac969cc414daa6a890cdea872d389ca93d2092b6b7773cf |
zimclient2 | b594a42b8f1c6f090327bb9a3361c2d3515537fb7ac8da6b9061b9a3f330e159 |
If you find something
A match means the system is considered compromised. Preserve logs and affected files before deleting anything. Because the attackers reportedly gained root privileges and established persistence in multiple locations, according to Microsoft, rebuilding on 10.1.20 or later is safer than removing individual files. Then rotate the exposed secrets: the values from zmlocalconfig -s (including LDAP and database passwords), zimbraPreAuthKey, zimbraAuthTokenKey, and the SSH keys of the zimbra user. According to Microsoft, zimbraTwoFactorAuthSecret was also queried; users’ two-factor registrations should therefore be set up again. For multi-server installations, the check applies to all nodes, as Microsoft reports that the attackers identified mailbox and MTA servers with zmprov and used the SSH key to move between servers.
Context
Affected organizations are those that operate Zimbra as their own mail server and accept mail directly from the internet. The vulnerability is reachable through regular mail receipt, without authentication and without any user interaction. The limitation to zimbra-snmp with active notifications reduces the number of attackable systems; however, anyone who has configured SNMP monitoring is in exactly this configuration. According to SecurityWeek, CISA lists 18 Zimbra vulnerabilities in the KEV catalog, four of them from 2026; previous campaigns against Zimbra have been attributed to state-sponsored groups and financially motivated criminals. CERT-FR reported the vulnerability on August 19, 2026, together with three other CVEs fixed in Zimbra. No advisory from Switzerland’s NCSC regarding CVE-2026-73570 was available at the time of research.
Comments
Comments are loaded from GitHub / Giscus.