CVE-2026-75678 Overview
Adobe Experience Manager (AEM) contains a DOM-based Cross-Site Scripting (XSS) vulnerability [CWE-79]. An attacker can manipulate the Document Object Model (DOM) environment to execute arbitrary JavaScript in the victim's browser context. Exploitation requires an authenticated attacker to lure a victim into visiting a crafted webpage. The vulnerability changes scope, meaning executed code can affect resources beyond the vulnerable component's security authority. Adobe published Security Advisory APSB26-98 addressing this issue across AEM Cloud Service and AEM 6.5 Long Term Support (LTS) releases.
Critical Impact
Successful exploitation allows arbitrary JavaScript execution in a victim's session, enabling session token theft, credential harvesting via injected forms, and unauthorized actions against AEM authoring or publishing interfaces.
Affected Products
- Adobe Experience Manager AEM Cloud Service (all versions prior to patch)
- Adobe Experience Manager 6.5 LTS (base release, SP1)
- Adobe Experience Manager 6.5 LTS SP2
Discovery Timeline
- 2026-09-08 - CVE-2026-75678 published to the National Vulnerability Database (NVD)
- 2026-09-10 - Last updated in NVD database
Technical Details for CVE-2026-75678
Vulnerability Analysis
The flaw is a client-side DOM-based XSS issue within Adobe Experience Manager. Unlike reflected or stored XSS, the malicious payload never needs to traverse the server. Instead, vulnerable client-side JavaScript reads attacker-controlled data from a DOM source and writes it into a sink capable of executing script. Because the vulnerability changes scope, script executed in the AEM origin can reach protected content within adjacent security boundaries. An authenticated attacker with low privileges can craft a URL or webpage that, when visited by a higher-privileged AEM user, triggers arbitrary JavaScript in that user's browser context. This enables session hijacking, content tampering in the authoring environment, and pivoting into administrative functions.
Root Cause
The underlying weakness is improper neutralization of input during web page generation [CWE-79]. Client-side JavaScript shipped with AEM consumes untrusted values from DOM sources such as location.hash, location.search, or document.referrer and passes them to a dangerous sink (for example innerHTML, document.write, or eval) without contextual encoding. Adobe has not published detailed technical internals; refer to Adobe Security Advisory APSB26-98 for authoritative details.
Attack Vector
The attack originates over the network and requires user interaction. An attacker with low-privileged AEM access crafts a link containing a malicious fragment or query parameter. The victim, typically a content author or administrator, clicks the link while authenticated to AEM. The vulnerable client-side code parses the attacker-controlled data and injects it into an executable DOM sink. The payload then runs with the victim's privileges against the AEM interface.
No verified proof-of-concept code is available for this issue. Refer to the vendor advisory for further technical detail.
Detection Methods for CVE-2026-75678
Indicators of Compromise
- Unexpected outbound requests from AEM author or publish instances to attacker-controlled domains shortly after a user clicks an external link.
- AEM audit log entries showing content, workflow, or user changes performed by legitimate accounts at anomalous times.
- Browser telemetry showing execution of inline scripts sourced from URL fragments (location.hash) on AEM pages.
- New or modified administrator accounts, replication agents, or OSGi configurations without a corresponding change ticket.
Detection Strategies
- Deploy a Content Security Policy (CSP) in report-only mode across AEM origins to surface script execution from unexpected sources.
- Inspect HTTP referrer and access logs for AEM URLs containing suspicious fragments, encoded HTML, or JavaScript keywords such as onerror=, javascript:, and <script.
- Correlate authenticated AEM session activity with browser-side telemetry to identify script execution that did not originate from AEM-served resources.
Monitoring Recommendations
- Forward AEM access.log, request.log, and audit logs into a centralized analytics platform for query and retention.
- Alert on privileged AEM operations (user creation, permission changes, package installs) triggered from sessions originating with unusual referrers.
- Monitor CDN and web application firewall (WAF) logs for repeated requests carrying script-like fragments targeting AEM endpoints.
How to Mitigate CVE-2026-75678
Immediate Actions Required
- Apply the updates referenced in Adobe Security Advisory APSB26-98 to AEM Cloud Service and AEM 6.5 LTS environments.
- Restrict AEM author instance access to trusted networks and require multi-factor authentication for all users with content or configuration privileges.
- Instruct authors and administrators to avoid clicking untrusted links while authenticated to AEM.
- Review AEM audit logs for suspicious activity dating back to the earliest exposure window.
Patch Information
Adobe released fixes for Adobe Experience Manager Cloud Service and AEM 6.5 LTS through Security Advisory APSB26-98 on 2026-09-08. Customers on AEM Cloud Service receive the fix through the standard release channel. AEM 6.5 LTS customers must upgrade to the service pack version identified in the advisory. Consult Adobe Security Advisory APSB26-98 for the exact fixed build numbers and installation guidance.
Workarounds
- Enforce a strict Content Security Policy that disallows inline scripts and unsafe evaluation on AEM author and publish origins.
- Place a WAF in front of AEM to filter requests containing script tags, javascript: URIs, and event handler attributes in query strings or fragments.
- Limit low-privileged AEM roles until patching is complete to reduce the pool of accounts that can craft an initial exploitation link.
# Example Content Security Policy header for AEM dispatcher
# Add to dispatcher or web tier response headers
Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.