CVE-2025-64800

5.4 MEDIUM

📋 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

Products:
  • Adobe Experience Manager
Versions: 6.5.23 and earlier
Operating Systems: All platforms running AEM
Default Config Vulnerable: ⚠️ Yes
Notes: Requires low-privileged attacker access to vulnerable form fields. AEM instances with custom components may have additional vulnerable fields.

📦 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.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

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

all

Add CSP headers to restrict script execution sources

Add to web server config: Content-Security-Policy: default-src 'self'; script-src 'self'

Input Validation Filter

all

Deploy 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=")

🔗 References

📤 Share & Export