CVE-2025-46966 Overview
Adobe Experience Manager (AEM) versions 6.5.22 and earlier contain a stored Cross-Site Scripting (XSS) vulnerability [CWE-79]. A low-privileged attacker can inject malicious JavaScript into vulnerable form fields. When a victim browses to a page containing the affected field, the injected script executes in the victim's browser context. Adobe published the fix in security advisory APSB25-48. The flaw affects both on-premises AEM deployments and AEM Cloud Service instances.
Critical Impact
Authenticated attackers with low privileges can persist malicious JavaScript in AEM form fields, enabling session hijacking, credential theft, and unauthorized actions in victim browsers.
Affected Products
- Adobe Experience Manager 6.5.22 and earlier (on-premises)
- Adobe Experience Manager Cloud Service (affected releases)
- AEM Forms components rendering user-controlled field data
Discovery Timeline
- 2025-06-10 - CVE-2025-46966 published to NVD
- 2025-06-10 - Adobe releases security advisory APSB25-48
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-46966
Vulnerability Analysis
The vulnerability is a stored XSS flaw in Adobe Experience Manager form handling. AEM fails to properly neutralize user-supplied input written to form fields before rendering the content back to other users. The injected payload persists in the AEM content repository. When any authenticated or unauthenticated user loads the affected page, the browser parses and executes the attacker-controlled script.
Exploitation requires attacker interaction with the AEM authoring interface at a low privilege level. A victim must then browse to the page containing the malicious field. Because the scope changes across security boundaries, the injected script may access content belonging to other users or components. Impact typically includes session token theft, forced browser actions, defacement, and phishing overlays that abuse the trusted AEM origin.
Root Cause
The root cause is improper output encoding of form field values during page rendering. Input sanitization routines do not neutralize HTML control characters or script tags before persisting the data. When AEM serializes the stored value into the HTML response, the browser interprets the payload as executable code rather than inert text.
Attack Vector
The attack vector is network-based over HTTP or HTTPS to the AEM instance. An authenticated attacker with author-level privileges submits a crafted payload into a vulnerable form field. The payload is stored in the JCR repository. A victim triggers execution by loading the page hosting the field. User interaction is required for the exploit chain to complete.
See the Adobe Security Advisory APSB25-48 for detailed technical information on affected components.
Detection Methods for CVE-2025-46966
Indicators of Compromise
- Form field values in the AEM JCR repository containing <script>, javascript:, onerror=, or onload= tokens
- Unexpected outbound HTTP requests from author or publish instances to attacker-controlled domains
- Unusual POST requests to /content/forms/ or /libs/cq/ paths from low-privileged author accounts
- Session cookies or CSRF tokens appearing in web server access logs of unrelated third-party hosts
Detection Strategies
- Scan the JCR repository for stored node properties containing HTML tags or JavaScript event handlers
- Enable and review AEM Dispatcher access logs for anomalous form submissions from author accounts
- Deploy Content Security Policy (CSP) headers in report-only mode to surface unexpected inline script execution
- Correlate author account activity with subsequent publish events to identify suspicious content mutations
Monitoring Recommendations
- Monitor AEM audit logs for form field modifications by accounts without a business need to edit forms
- Alert on outbound network connections from AEM publish tier to non-approved domains
- Track browser error telemetry from customer-facing pages for content-security-policy violations
- Baseline normal form content and alert on properties containing script syntax
How to Mitigate CVE-2025-46966
Immediate Actions Required
- Apply the Adobe security update referenced in advisory APSB25-48 to all AEM 6.5.x instances
- Update AEM Cloud Service instances to the fixed release channel
- Audit existing form field content for stored payloads and remove any malicious entries
- Rotate session tokens and API keys for accounts that accessed affected pages
Patch Information
Adobe addressed CVE-2025-46966 in the update documented in Adobe Security Advisory APSB25-48. Customers on AEM 6.5.22 and earlier must upgrade to the fixed version. AEM Cloud Service customers receive the fix through the standard release channel. Review the advisory for the specific service pack and hotfix identifiers applicable to your deployment.
Workarounds
- Restrict form authoring privileges to trusted users and enforce least privilege on the AEM author instance
- Deploy a strict Content Security Policy that disallows inline scripts on published pages
- Configure the AEM Dispatcher to filter suspicious characters in form submission parameters
- Enable multi-factor authentication for all AEM author accounts to reduce risk of credential-based abuse
# Example Content Security Policy header to mitigate stored XSS execution
# Add to AEM Dispatcher or reverse proxy configuration
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.

