CVE-2025-64800
📋 TL;DR
Adobe Experience Manager versions 6.5.23 and earlier contain a stored XSS vulnerability where low-privileged attackers can inject malicious scripts into form fields. When victims browse pages containing these compromised fields, their browsers execute the attacker's JavaScript. This affects organizations using vulnerable AEM instances for content management.
💻 Affected Systems
- Adobe Experience Manager
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal session cookies, redirect users to malicious sites, perform actions on behalf of authenticated users, or deploy additional malware payloads.
Likely Case
Session hijacking, credential theft, or defacement of web content through injected scripts.
If Mitigated
Limited impact with proper input validation, output encoding, and Content Security Policy (CSP) headers in place.
🎯 Exploit Status
Exploitation requires authenticated low-privileged access. Stored XSS typically has lower complexity than reflected XSS.
🛠️ 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. Backup AEM instance and content. 2. Download AEM 6.5.24+ from Adobe Distribution portal. 3. Apply Service Pack following Adobe's installation guide. 4. Restart AEM instance. 5. Verify successful update via AEM welcome screen.
🔧 Temporary Workarounds
Implement Content Security Policy
allAdd CSP headers to restrict script execution sources
Add to web server config: Content-Security-Policy: default-src 'self'; script-src 'self'
Input Validation Filter
allDeploy servlet filter to sanitize form field inputs
Implement Java filter using OWASP Java Encoder or similar library
🧯 If You Can't Patch
- Restrict low-privileged user access to content authoring interfaces
- Implement web application firewall (WAF) rules to block XSS payloads
🔍 How to Verify
Check if Vulnerable:
Check AEM version via Welcome screen (http://[host]:[port]/libs/granite/core/content/login.html) or CRXDE /apps/version.txt
Check Version:
curl -s http://localhost:4502/libs/granite/core/content/login.html | grep 'AEM 6.5'
Verify Fix Applied:
Confirm version is 6.5.24+ and test form fields with basic XSS payloads like <script>alert('test')</script>
📡 Detection & Monitoring
Log Indicators:
- Unusual content modifications by low-privileged users
- Requests containing script tags in form parameters
Network Indicators:
- HTTP requests with JavaScript in POST data to AEM authoring endpoints
SIEM Query:
source="aem-access.log" AND ("<script" OR "javascript:" OR "onerror=" OR "onload=")