Skip to content

BuildNot yet confirmed elsewhere1 publisher2 min readPublished

Attackers had 24 days to diff Zimbra's quiet 10.1.20 fix before CVE-2026-73570 was disclosed

Attackers are exploiting Zimbra Collaboration Suite flaw CVE-2026-73570, which Synacor fixed quietly in 10.1.20 on July 20 and disclosed on August 13. An upgrade closes the injection path, but a web shell written earlier stays on disk until someone finds it.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying Attackers had 24 days to diff Zimbra's quiet 10.1.20 fix before CVE-2026-73570 was disclosed
Generated illustration
Hundreds of Zimbra servers hit, thousands exposed Shadowserver Foundation counts of compromised and exposed Zimbra instances, as reported by InfoQ, with the flaw's CVSS score.

Key figures: approximately 274 compromised production Zimbra instances observed after disclosure, and roughly 10,000 public-facing deployments exposed to scanning scripts, both per the Shadowserver Foundation. The flaw carries a CVSS score of 8.9.

Hundreds of Zimbra servers hit, thousands exposed
FigureValueNoteClaim
Compromised production instances seen after disclosure274 approximatelyper Shadowserver Foundation14
Public-facing deployments exposed to scanning scripts10,000 roughlyper Shadowserver Foundation15
Severity score of the flaw8.9 CVSS2

What happened

  • The bug sits in swatchdog, which pastes regex-matched log text into an unquoted string and hands it to a system shell call.
  • Once a callback confirms execution, attackers write JSP web shells under the Jetty root at /opt/zimbra/jetty/webapps/zimbra/.
  • The Shadowserver Foundation observed about 274 compromised production instances after disclosure, according to InfoQ.

Why it matters

  • exposure Shadowserver puts roughly 10,000 public-facing Zimbra deployments within reach of scanning scripts, and the entry point is inbound SMTP.
  • decision Clusters that cannot upgrade in one window must choose between running unfixed and switching off SNMP, which costs them outbound telemetry, automated trapping and some dashboard coverage.
  • constraint An upgrade does not clear an intrusion that already happened. InfoQ's guidance is to treat unpatched exposed servers as compromised and review Jetty directories for unauthorized JSP.
  • precedent Operators of internet-facing mail software cannot count on an advisory to say a point release matters. 10.1.20 was the fix for 24 days before the public notice.

The 10.1.20 change replaces shell-concatenated string execution with direct parameter arrays passed to execve [11]. In an array, the matched log text is an argument and never shell syntax. Before the fix, the text came from SMTP envelope fields that reach local syslog without shell argument sanitisation [6]. Semicolons, backticks and pipes survive the log parsing [7].

The CVSS score is 8.9 [2]. It hides how short the chain is: an SMTP transaction, no login, and a shell as the zimbra user [3]. The path exists only where the optional zimbra-snmp package runs [5]. The maintainers' fallback follows from that. Disable the package and the swatchdog loop is gone [12].

On a host that takes inbound SMTP from the internet, this is the order we'd work in:

1. Check whether zimbra-snmp is running [5]. 2. Upgrade to 10.1.20 or newer [11], or run `zmcontrol stop snmp` as the zimbra user and remove snmp from the host's zimbraServiceEnabled list [12]. 3. List JSP files under /opt/zimbra/jetty/webapps/zimbra/ that nobody on your team deployed [9]. 4. Search egress logs from late July for curl or nslookup callbacks to hosts you do not recognise [8]. 5. If a shell turns up, assume zmprov ran as the zimbra user and rotate the LDAP tokens, authentication keys and database credentials [10].

Steps 3 to 5 matter because the intrusions InfoQ describes verify execution with a callback before the heavier payload arrives [8]. A host that was patched late can already hold a shell.

InfoQ reports that attackers reverse-engineered the binary changes in the gap between fix and advisory, then launched scanning campaigns against public instances [18]. It cites Microsoft and CERT Polska telemetry showing probes through late July and August, with backdoors deployed before most operations teams recognised the severity of the patch [19]. The InfoQ article does not reproduce that telemetry, so the diffing account rests on its summary. We'd expect a fix confined to one string-building path to be easy to find in a binary diff.

What to watch

  • Whether Microsoft or CERT Polska publish the probe telemetry and indicators, so teams can match them against their own logs.
  • Whether the exposed-deployment count from Shadowserver falls as operators move to 10.1.20 or disable SNMP.
  • Whether Synacor labels security content in future point release notes.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence58
Adoption30
Hype gap+10
Incentives
Insufficient
Confidence55
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    CVE-2026-73570, a critical remote command execution vulnerability in the Zimbra Collaboration Suite mail platform, is under active, widespread exploitation.

    ReportedSupportedSource: InfoQView cited source
  2. [2]

    CVE-2026-73570 carries a CVSS score of 8.9 and stems from improper input sanitisation in the platform's SNMP notification subsystem.

    ReportedSupportedSource: InfoQView cited source
  3. [3]

    When paired with public-facing mail transfer agents, the flaw lets unauthenticated remote attackers inject arbitrary operating system commands that run as the underlying Zimbra operating system user.

    ReportedSupportedSource: InfoQView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. infoq.com

    1 article · October 13, 2026

    ZCS Command Injection via SNMP Handlers Enables Unauthenticated Remote Code Execution

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Loading related stories