CVE-2025-64817

5.4 MEDIUM

📋 TL;DR

Adobe Experience Manager versions 6.5.23 and earlier contain a stored cross-site scripting vulnerability in form fields. Low-privileged attackers can inject malicious JavaScript that executes in victims' browsers when they visit compromised pages. 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 supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: Affects both author and publish instances. Requires attacker to have at least contributor-level permissions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator session cookies, perform actions as authenticated users, or redirect users to malicious sites, potentially leading to full system compromise.

🟠

Likely Case

Low-privileged users inject malicious scripts that execute when other users view affected pages, potentially stealing session data or performing unauthorized actions.

🟢

If Mitigated

With proper input validation and output encoding, malicious scripts would be neutralized before execution, preventing successful exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access with at least contributor permissions. Attack involves injecting scripts into vulnerable form fields.

🛠️ 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 Distribution. 2. Apply the Service Pack following Adobe's installation guide. 3. Restart AEM instances. 4. Verify successful update via AEM welcome screen.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement custom servlet filters to sanitize form field inputs before processing

Implement Java servlet filter with OWASP Java Encoder library for input sanitization

Content Security Policy

all

Implement strict CSP headers to prevent script execution from untrusted sources

Add 'Content-Security-Policy: default-src 'self'; script-src 'self'' to HTTP headers

🧯 If You Can't Patch

  • Restrict contributor permissions to trusted users only
  • Implement web application firewall rules to block XSS payloads

🔍 How to Verify

Check if Vulnerable:

Check AEM version via Welcome screen or CRXDE. Versions 6.5.23 and earlier are vulnerable.

Check Version:

Navigate to AEM welcome screen or use 'curl -k https://aem-host:port/libs/granite/core/content/login.html | grep version'

Verify Fix Applied:

Verify AEM version is 6.5.24 or later. Test form fields with XSS payloads to confirm sanitization.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to form endpoints with script tags
  • Multiple failed login attempts followed by form submissions

Network Indicators:

  • HTTP requests containing <script> tags in form parameters
  • Outbound connections to suspicious domains after form submissions

SIEM Query:

source="aem-access.log" AND ("<script>" OR "javascript:" OR "onerror=" OR "onload=")

🔗 References

📤 Share & Export