On NetScaler and Zimbra, Upgrading Destroys the Evidence and Leaves the Implant
If exploits are now as cheap to build as one AI-built Chrome chain suggests, a patch-first runbook loses twice: it lands after weaponization and wipes the forensics that would show whether you were already owned.
The order of operations is the bug
Patching the appliance is the step that fixes the least. Mandiant's Charles Carmakal, quoted by SANS: 'upgrading alone will not eradicate post-exploitation access or address stolen credentials.' The NetScaler attacker left two implants. WHIPSHOT is a PHP web shell that carries Base64-encoded command-and-control traffic inside ordinary HTTP headers. SLAPSHOT is a Python tunneler for internal reconnaissance and credential theft. A firmware upgrade removes neither, and it can wipe the logs that would show they were there. This experiment has run before. After CitrixBleed (CVE-2023-4966), per TLDR IT, teams that patched but kept active sessions stayed compromised through hijacked tokens.
The sequence I would run is preserve, hunt, rebuild fresh, rotate. Rotation covers everything the box touched: admin credentials, LDAP bind accounts, certificates and session-signing keys. The keys are the item that gets skipped. Johansen reports the Zimbra attackers stole session-signing keys to forge any user's login and sent mail out to Azure blob storage.
| Target | Fix | Gotcha |
|---|---|---|
| NetScaler CVE-2026-88771/88772 | 14.1-73.37 or the newest 13.1 build | The first 13.1 fix had a reboot loop; 12.1/13.0 are end-of-life with no fix; DTLS is on by default for VPN vservers; fewer than 10% patched by Sept 29 |
| Zimbra CVE-2026-73570 | 10.1.20+, or remove zimbra-snmp | Requires the optional SNMP package with notifications on |
| MikroTik CVE-2026-84411 | Unclear | CISA says versions below 7.24 are affected, yet 7.23 is cited as the fix; MikroTik itself has said nothing |
| Zammad 6.3.0–6.5.4 | Upgrade to 7.x or take offline | Sources differ: SANS says 7.x resolves it, while Johansen reports the root-escalation bug has no fix in any version |
Silent fixes are only silent to defenders
Zimbra shipped its fix quietly on July 20 and disclosed it on August 13. In that gap, scanners probed the exact swatchdog-to-snmptrap injection path. Attackers had diffed the old and new code and read the patch as a bug report. Volume compounds this. Google Threat Intelligence Group's 20-month view shows monthly disclosures doubled and in-the-wild exploitation nearly doubled between January 2025 and August 2026, driven by AI-assisted weaponization of known bugs. Triage queues doubled with it. At that volume a CVSS sort is just a long list. Sorting on evidence of exploitation, such as a listing in CISA's Known Exploited Vulnerabilities (KEV) catalog, holds up.
The same bug class lives in ordinary gateways
Johannes Ullrich classifies the Cisco SD-WAN Manager bypass (CVE-2026-76504, CVSS 9.8) as CWE-84. The mechanism: a security control and the application decode the same URI differently, so the check approves one string and the backend executes another. Ed Skoudis ties it to the PeopleSoft attacks, which use the same technique. The sources tally Cisco's 2026 record differently. SANS counts the fifth exploited SD-WAN bug of the year, and Johansen counts the eighth SD-WAN KEV entry. I would not spend time on the gap, since both tallies describe a product line that keeps getting hit. The lesson extends past Cisco. Any gateway, WAF rule or middleware that allows or denies on a raw path while the backend decodes it later has the same bug.
A gateway that decides allow or deny on the raw path, before canonicalizing it, carries the same 9.8 bug Cisco shipped.
Segmentation still earns its keep. Johansen reports that the agent-driven DIVD intrusion went from Zammad to root in seconds. Network segmentation stopped it from moving deeper into the network.
What to do
Inventory every internet-facing NetScaler, Zimbra, MikroTik and Zammad instance today. For anything exposed and unpatched in September: capture logs and a memory snapshot, hunt for WHIPSHOT/SLAPSHOT and the snmptrap path, rebuild on a fresh instance, rotate every credential and key it touched, and only then patch.
Add negative tests this sprint to every API gateway, reverse-proxy ACL, WAF rule and auth middleware, using URL-encoded, double-encoded and mixed-case paths that must stay denied. Move every authorization decision after a single, early canonicalization step.
Wire the CISA KEV feed into vulnerability ticketing this quarter. Give KEV-listed, pre-auth, internet-facing bugs their own SLA of 72 hours or less, with pre-approved change windows.