Russian-Linked Espionage Group Used Zimbra Zero-Day to Steal Mail and 2FA Codes

· Original article ↗

Summary

A campaign tracked as TA488 and CL-STA-1114 exploited CVE-2025-66376 in Zimbra Classic UI from at least July 2025, using crafted emails to steal mail, passwords and 2FA recovery codes. Zimbra patched the flaw in November 2025.

Key points

  • CVE-2025-66376 is a stored XSS flaw in Zimbra Classic UI; crafted HTML abused CSS @import handling to execute JavaScript when a message rendered in an authenticated session.
  • The ZimReaper payload stole CSRF tokens, browser-saved passwords, 2FA scratch codes and mailbox data, and exfiltrated information over DNS.
  • The payload also created an app-specific password named ZimbraWeb, which could provide mail access without two-factor authentication.
  • The campaign targeted government, defense, transportation and financial organizations across several regions, but the reporting names no affected organizations or victim count.
  • Zimbra fixed the flaw on November 6, 2025; affected versions are 10.0 before 10.0.18 and 10.1 before 10.1.13. CISA added the CVE to its Known Exploited Vulnerabilities catalog in March 2026.
  • Guidance includes upgrading, resetting passwords, invalidating sessions, regenerating 2FA scratch codes and reviewing accounts for app-specific passwords and suspicious API activity.
  • Current activity assessments differ: Unit 42 reported continued targeting of unpatched systems, while Proofpoint said it had not observed TA488 activity since February 2026. Actor-name associations also remain uncertain.

Article Details

Attack Vectors
  • A crafted HTML email exploits stored XSS in Zimbra Classic UI. Rendering or previewing the message in a vulnerable session triggers the payload without further user interaction.
  • The email uses hidden SVG markup, fragmented with fake CSS @import directives and HTML comments, which the article says bypasses Zimbra's sanitizer and executes JavaScript.
  • ZimReaper uses Zimbra APIs to retrieve mailbox data, the Global Address List, browser-autofilled passwords, CSRF tokens, and 2FA scratch codes.
  • The payload creates an app-specific password named ZimbraWeb and uses DNS queries to exfiltrate stolen data; it sends 90 days of email to C2 as a TGZ archive.
Defensive Notes
  • Upgrade Zimbra 10.0 deployments to a supported 10.1 release and at least version 10.1.13; upgrade 10.1 deployments to at least 10.1.13. The article reports that Zimbra fixed CVE-2025-66376 on November 6, 2025.
  • Treat mailboxes that opened or previewed a matching message in a vulnerable Classic UI session as potentially compromised: reset passwords, invalidate active sessions, and regenerate 2FA scratch codes.
  • Review /opt/zimbra/log/audit.log for CreateAppSpecificPassword calls and remove credentials named ZimbraWeb. Investigate unnecessary accounts with zimbraPrefImapEnabled set to TRUE and alert on GetScratchCodesRequest calls.
  • Check unopened messages for the fragmented @import pattern described in the article. Filter DNS for published C2 domains and alert on long random subdomain lookups; the article does not provide the domain values.

MITRE ATT&CK

CVE

Threat Actors

Malware

Vendors

Products

Countries

Industries

Related Articles