CVE-2025-46957 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. The payload executes in a victim's browser when they load the page containing the compromised field. The flaw affects both the on-premises AEM 6.5.x line and the AEM Cloud Service. Adobe addressed the issue in security bulletin APSB25-48.
Critical Impact
Authenticated attackers can persist JavaScript into AEM form fields, hijacking sessions or performing actions in the context of any user who views the affected page.
Affected Products
- Adobe Experience Manager 6.5.22 and earlier (on-premises)
- Adobe Experience Manager Cloud Service (AEM CS)
- Any AEM component rendering user-supplied form field content without output encoding
Discovery Timeline
- 2025-06-10 - CVE-2025-46957 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-46957
Vulnerability Analysis
The vulnerability is a stored (persistent) XSS defect in Adobe Experience Manager form field handling. AEM stores attacker-controlled input from a form field without adequate sanitization or contextual output encoding. When a subsequent user renders the affected page, the browser interprets the injected markup as executable script.
Exploitation requires an authenticated session with limited privileges and user interaction from the victim (loading the affected page). Because the vulnerability changes security scope, script executes with the origin and privileges of the viewing user, enabling session token theft, forced actions in the AEM author or publish interface, and modification of content served to downstream visitors.
Root Cause
The root cause is improper neutralization of input during web page generation [CWE-79]. AEM accepts markup or script fragments in one or more form fields and persists that content into the JCR (Java Content Repository). At render time the field content is emitted into the HTML response without HTML entity encoding for the output context, allowing <script> tags or event handler attributes to execute.
Attack Vector
The attack path requires:
- An attacker with valid low-privileged AEM credentials (contributor or similar).
- Access to a form or component that accepts field input persisted to the repository.
- A victim (author, administrator, or end user) who later renders the page.
The attacker submits a payload such as an inline event handler or <script> element through the vulnerable field. AEM stores the raw markup. When any user browses the rendered page, the payload executes in that user's browser session, allowing theft of authentication cookies, CSRF token exfiltration, or unauthorized content changes performed on the victim's behalf.
No public proof-of-concept exploit and no CISA KEV listing are recorded for this issue.
Detection Methods for CVE-2025-46957
Indicators of Compromise
- Form field values in the JCR containing <script>, javascript:, or on*= event handler substrings.
- Unexpected outbound requests from author or publish instances to attacker-controlled domains initiated during page rendering.
- Session cookies or CSRF tokens for AEM users appearing in web server or proxy logs as query parameters.
- Content activation or replication events initiated by users who only viewed a page rather than edited it.
Detection Strategies
- Audit JCR nodes backing form components for stored HTML or JavaScript markup using AEM's Query Builder or JCR-SQL2 queries.
- Enable and review AEM Dispatcher and access logs for POST requests from low-privileged accounts targeting form component endpoints.
- Deploy a Content Security Policy (CSP) in report-only mode on author and publish tiers to surface inline script execution.
- Correlate authentication events with subsequent unexpected privileged actions in the same session.
Monitoring Recommendations
- Alert on repository writes to form field properties that contain angle brackets or javascript: scheme strings.
- Monitor Adobe security bulletin APSB25-48 for updates and additional CVEs in the same release.
- Track user-agent and IP anomalies on /content/** and /libs/** paths accessed by authenticated authors.
How to Mitigate CVE-2025-46957
Immediate Actions Required
- Upgrade on-premises AEM 6.5.x installations to the version identified in Adobe bulletin APSB25-48 (post-6.5.22 service pack).
- Confirm AEM Cloud Service instances are running a release that includes the fix; Cloud Service customers should verify the deployed build number.
- Review and purge stored form field content containing script markup that predates the patch.
- Rotate session secrets and force re-authentication for author users if malicious payloads are found in the repository.
Patch Information
Adobe released fixed builds documented in the Adobe Security Advisory APSB25-48. Apply the vendor-supplied service pack for AEM 6.5 or upgrade to the AEM Cloud Service release listed in the advisory. No configuration change alone remediates the underlying encoding defect.
Workarounds
- Restrict the set of users who can submit content to form components until the patch is applied.
- Deploy a strict Content Security Policy that forbids inline scripts (script-src 'self') on author and publish tiers.
- Place a Web Application Firewall (WAF) rule in front of AEM to block form submissions containing <script, onerror=, onload=, or javascript: patterns.
- Disable or unpublish affected form components on public-facing publish instances until remediation is complete.
# Example CSP header to mitigate inline script execution in AEM Dispatcher
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.