CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2025-66376
7.228.82%

CVE-2025-66376: Stored Cross-Site Scripting via CSS @import in Zimbra ZCS Classic UI

Alon Barad
Alon Barad
Software Engineer

Mar 19, 2026·7 min read·3 visits

Active ExploitationCISA KEV Listed

Executive Summary (TL;DR)

Zimbra ZCS Classic UI fails to sanitize CSS @import directives in HTML emails, resulting in Stored XSS. Attackers use this to silently execute JavaScript, exfiltrate emails via the SOAP API, and steal session tokens without user interaction beyond opening the email.

A critical stored cross-site scripting (XSS) vulnerability exists in the Classic UI of Synacor Zimbra Collaboration Suite (ZCS) versions 10.0.x and 10.1.x. The flaw arises from improper neutralization of CSS @import directives within HTML email bodies, enabling unauthenticated attackers to execute arbitrary JavaScript in the context of the victim's webmail session. State-sponsored actors, specifically APT28, currently exploit this vulnerability in the wild.

Vulnerability Overview

CVE-2025-66376 is a stored cross-site scripting (XSS) vulnerability located within the HTML email rendering engine of the Zimbra Collaboration Suite (ZCS) Classic UI. The vulnerable component fails to properly neutralize Cascading Style Sheets (CSS) directives embedded within incoming email messages. This allows an unauthenticated remote attacker to inject malicious code that persists on the server and executes client-side when the victim accesses the message.

The attack surface is exposed via the standard email delivery mechanism (SMTP). The Classic UI processes and renders the HTML body of the email directly in the user's browser. Because the application does not systematically strip or encode specific CSS features, attackers can leverage the <style> tag to introduce untrusted external resources.

Execution occurs entirely within the context of the victim's authenticated webmail session. The vulnerability requires no user interaction beyond the normal action of opening a received email. Once the payload executes, it inherits the permissions of the authenticated user, allowing it to interface directly with the Zimbra application infrastructure.

State-sponsored threat actors aggressively exploit this vulnerability. Research from Seqrite Labs identifies APT28 utilizing this flaw in an espionage campaign dubbed "Operation GhostMail" targeting Ukrainian government infrastructure. The active exploitation status prompted the Cybersecurity and Infrastructure Security Agency (CISA) to mandate remediation for federal agencies.

Root Cause Analysis

The fundamental flaw resides in the Zimbra Classic UI's HTML sanitization engine. The application applies filtering rules to strip dangerous HTML elements like <script> or <iframe>. However, the engine implements insufficient introspection into the content of allowed tags, specifically the <style> tag.

The sanitizer fails to parse and neutralize the CSS @import directive. When the server processes an incoming HTML email containing a <style> block with an @import rule, the sanitization logic permits the block to pass through unmodified. The payload is subsequently stored in the user's mailbox.

When the victim's browser renders the email content, the CSS parser encounters the @import directive and interprets it as a legitimate instruction to fetch an external stylesheet. Attackers supply a URL pointing to attacker-controlled infrastructure or utilize a data:text/css;base64 URI to embed the payload directly within the style declaration.

Through specific rendering quirks or compatibility modes in target browsers, the fetched or decoded CSS triggers JavaScript execution. This typically involves the use of legacy CSS properties like expression() or leveraging browser-specific behaviors that evaluate external stylesheet content as executable script, bypassing the initial HTML-based constraints entirely.

Exploitation and Attack Methodology

Attackers initiate the exploit chain by transmitting a specially crafted HTML email to the target Zimbra server. This email contains no attachments and no standard hyperlinks, which allows it to evade signature-based detection mechanisms and traditional secure email gateways. The payload is entirely self-contained within the HTML structure of the message body.

Upon the victim opening the email in the ZCS Classic UI, the injected @import rule forces the browser to load a Stage-1 JavaScript loader. The browser executes this loader silently in the background, without presenting any visible indicators of compromise to the user.

The Stage-1 loader subsequently retrieves a more complex "Browser Stealer" script. This Stage-2 payload is designed specifically to interact with the Zimbra Simple Object Access Protocol (SOAP) API. Because the script executes within the context of the Zimbra webmail domain, it possesses access to the victim's active session cookies and authentication tokens.

The Browser Stealer programmatically issues SOAP API requests, such as GetMsgRequest and GetContactsRequest, to harvest data. The script retrieves entire email threads, file attachments, and address book entries. Finally, the payload encodes the stolen data and exfiltrates it to attacker-controlled infrastructure using DNS tunneling or HTTP POST requests.

Code Analysis and Sanitization Logic

Historically, the Zimbra Classic UI relied on an HTML-centric blocklist approach for content sanitization. The logic analyzed the Document Object Model (DOM) structure of the incoming email, neutralizing explicit script execution vectors. It explicitly permitted the <style> tag to ensure that HTML emails maintained their intended visual formatting.

The vulnerability exists because the application did not implement a dedicated CSS parser. While the HTML tags were filtered, the text content inside the <style> node was treated opaquely. The sanitizer did not construct an Abstract Syntax Tree (AST) of the CSS rules, preventing it from recognizing directives like @import or url() that orchestrate secondary resource fetching.

> [!NOTE]
> The patch introduces a dedicated CSS parsing phase that aggressively evaluates the contents of all inline styles and `<style>` blocks.

In Zimbra versions 10.0.18 and 10.1.13, the vendor implemented a comprehensive fix by updating the sanitization pipeline. The updated engine analyzes the internal syntax of the CSS. It explicitly identifies and strips out @import declarations, url() functions pointing to external resources, and legacy expression() properties.

This remediation strategy represents a shift from superficial HTML filtering to context-aware validation. By parsing the CSS directly, the application effectively neutralizes variant attacks that attempt to obfuscate the external stylesheet loads using encoding techniques or CSS escape sequences.

Impact Assessment

Successful exploitation of CVE-2025-66376 yields arbitrary JavaScript execution within the victim's authenticated webmail session. The attacker inherits the full permissions of the user, enabling the silent extraction of sensitive communications, corporate intellectual property, and internal contact directories.

The primary consequence is a complete breach of confidentiality for the targeted mailbox. The malicious script utilizes the Zimbra SOAP API to systematically download email contents and attachments. Furthermore, the extraction of session credentials allows the attacker to maintain persistent access to the account from external infrastructure, completely bypassing the need for the victim's browser.

The CVSS v3.1 base score of 7.2 categorizes this vulnerability as High severity. The vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N) accurately reflects the network-based attack vector, low complexity, and the fact that an attacker requires no prior authentication to deliver the payload. The scope is changed because the attack occurs within the client's browser environment.

The operational impact is severe, as evidenced by the EPSS score of 0.28822 (96.50th percentile) and active exploitation by APT28. Compromised webmail accounts frequently serve as initial footholds for broader network intrusion, facilitating lateral phishing campaigns against internal employees or external partners using a trusted sender identity.

Remediation and Mitigation Strategies

The definitive remediation for CVE-2025-66376 is to update the Zimbra Collaboration Suite to patched versions. System administrators must upgrade ZCS 10.0.x deployments to version 10.0.18, and ZCS 10.1.x deployments to version 10.1.13. These releases incorporate the updated HTML and CSS sanitization logic required to neutralize the @import vector.

For organizations unable to deploy the patch immediately, administrators should instruct all users to transition to the Modern UI. The Modern UI utilizes a distinct rendering engine and component architecture that is not susceptible to this specific CSS parsing failure. Disabling access to the Classic UI entirely provides an effective temporary mitigation.

Security operations teams must implement robust network-level monitoring to detect active exploitation attempts. Analysts should inspect HTTP and HTTPS traffic for incoming emails containing <style> tags with @import rules, particularly those employing data: URIs. Additionally, monitoring outbound traffic from client subnets for anomalous DNS queries or POST requests to unrecognized domains can identify data exfiltration phases.

Application-level auditing is crucial for post-compromise detection. Administrators should analyze Zimbra access logs for suspicious SOAP API activity. High-frequency API calls such as GetMsgRequest or GetContactsRequest originating from a single user session immediately after opening an email constitute a high-confidence indicator of compromise.

Official Patches

SynacorZimbra 10.0.18 Release Notes

Technical Appendix

CVSS Score
7.2/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
EPSS Probability
28.82%
Top 4% most exploited

Affected Systems

Synacor Zimbra Collaboration Suite (ZCS) Classic UIZCS 10.0.xZCS 10.1.x

Affected Versions Detail

Product
Affected Versions
Fixed Version
Zimbra Collaboration Suite (ZCS)
Synacor
10.0.0 - 10.0.1710.0.18
Zimbra Collaboration Suite (ZCS)
Synacor
10.1.0 - 10.1.1210.1.13
AttributeDetail
CWE IDCWE-79
Attack VectorNetwork
CVSS Score7.2
EPSS Score0.28822
Exploit StatusActive Exploitation (APT28)
CISA KEVAdded (2026-03-18)

MITRE ATT&CK Mapping

T1189Drive-by Compromise
Initial Access
T1185Browser Session Hijacking
Credential Access
CWE-79
Cross-site Scripting

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Known Exploits & Detection

Seqrite LabsTechnical analysis of Operation GhostMail detailing APT28 exploitation methodology.

Vulnerability Timeline

Zimbra releases ZCS 10.0.18 and 10.1.13 containing the fix.
2025-11-06
CVE-2025-66376 is officially published in the NVD.
2026-01-05
Seqrite Labs publishes "Operation GhostMail," detailing APT28 exploitation.
2026-03-17
CISA adds CVE-2025-66376 to the Known Exploited Vulnerabilities (KEV) catalog.
2026-03-18

References & Sources

  • [1]Zimbra Security Center
  • [2]Zimbra 10.0.18 Release Notes
  • [3]Seqrite Labs Analysis (Operation GhostMail)
  • [4]CISA KEV Catalog
  • [5]NVD Record: CVE-2025-66376

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.