CVE-2025-64804
📋 TL;DR
A stored Cross-Site Scripting (XSS) vulnerability in Adobe Experience Manager allows low-privileged attackers to inject malicious JavaScript into vulnerable form fields. When victims browse pages containing the compromised fields, their browsers execute the attacker's scripts. This affects AEM versions 6.5.23 and earlier.
💻 Affected Systems
- Adobe Experience Manager
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal session cookies, perform actions as authenticated users, redirect to malicious sites, or install malware through drive-by downloads.
Likely Case
Session hijacking, credential theft, defacement of web pages, or data exfiltration from user browsers.
If Mitigated
Limited impact if input validation and output encoding are properly implemented, though stored XSS remains dangerous.
🎯 Exploit Status
Exploitation requires authenticated low-privileged access; stored XSS is typically easy to weaponize once details are known.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 6.5.24 or later
Vendor Advisory: https://helpx.adobe.com/security/products/experience-manager/apsb25-115.html
Restart Required: Yes
Instructions:
1. Download AEM 6.5.24 or later from Adobe's distribution portal. 2. Apply the service pack following Adobe's upgrade documentation. 3. Restart all AEM instances. 4. Verify the patch is applied by checking the version in the AEM welcome console.
🔧 Temporary Workarounds
Input Validation and Output Encoding
allImplement strict input validation and proper output encoding for all user-controllable form fields.
Content Security Policy (CSP)
allDeploy a strict Content Security Policy to mitigate XSS impact by restricting script execution.
🧯 If You Can't Patch
- Restrict low-privileged user access to vulnerable form fields and components.
- Implement web application firewall (WAF) rules to block XSS payloads in form submissions.
🔍 How to Verify
Check if Vulnerable:
Check AEM version via the welcome console (http://[host]:[port]/libs/granite/core/content/login.html) or CRXDE Lite; versions 6.5.23 or earlier are vulnerable.
Check Version:
curl -s http://[host]:[port]/libs/granite/core/content/login.html | grep -o 'Experience Manager [0-9.]*'
Verify Fix Applied:
Confirm version is 6.5.24 or later in the AEM welcome console and test form fields for XSS payload acceptance.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to form submission endpoints with script tags or JavaScript payloads in parameters.
- Error logs showing XSS filter bypass attempts.
Network Indicators:
- HTTP requests containing <script>, javascript:, or other XSS payloads in form data.
SIEM Query:
source="aem_access.log" AND ("<script" OR "javascript:" OR "onerror=" OR "onload=")