CVE-2025-43830CVE-2025-43830是Liferay Portal及其企业版Liferay DXP中Forms组件存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞由[email protected]团队发现并报告,于2025年10月8日公开披露,CVSS评分为6.1,属于中危级别。
Liferay Portal是一款广泛应用于企业级门户、内容管理和协作平台的开源软件,其Forms模块允许用户创建自定义表单以收集数据。该模块支持多种字段类型,包括文本、数字、日期以及富文本(Rich Text)字段。富文本字段通常使用所见即所得(WYSIWYG)编辑器,允许用户输入格式化的内容,包括HTML标签和样式。
该漏洞的根本原因在于Forms组件的富文本字段对用户输入的过滤和转义机制不完善。攻击者可以通过精心构造的恶意payload(包含JavaScript代码或恶意HTML标签),将其注入到表单的富文本字段中。由于该payload被持久化存储在服务器端,当其他用户(包括管理员)访问包含该表单的页面时,恶意脚本将在受害者浏览器中自动执行,从而实现会话劫持、敏感信息窃取、钓鱼攻击或其他恶意操作。
该漏洞影响范围广泛,涵盖了Liferay Portal 7.3.2至7.4.3.111版本,以及Liferay DXP的多个长期支持版本,包括2023.Q4系列、2023.Q3系列、7.4 GA至update 92以及7.3 GA至update 35。鉴于Liferay在企业级市场的广泛部署,该漏洞可能对大量使用Liferay构建门户网站的组织构成安全风险。
该存储型XSS漏洞存在于Liferay Portal的Forms模块中,具体位于处理富文本类型字段的逻辑中。
**漏洞原理:**
Liferay Forms组件允许管理员创建包含多种字段类型的表单,其中富文本字段使用HTML编辑器(如CKEditor或TinyMCE)来提供所见即所得的编辑功能。理想情况下,编辑器应当对用户输入的HTML内容进行严格的过滤(sanitization),移除或转义危险的JavaScript事件处理器(如onerror、onload、onclick等)、危险标签(如<script>、<iframe>等)以及恶意属性。
然而,该漏洞表明Liferay Forms的富文本字段在保存用户提交的内容时,未能充分过滤恶意HTML标签或JavaScript代码。攻击者可以构造包含以下内容的payload:
1. 恶意<script>标签直接嵌入
2. 利用<img>标签的onerror事件处理器执行JavaScript
3. 利用<svg>标签配合onload事件
4. 利用<a>标签的href属性配合javascript:伪协议
5. 利用<iframe>标签加载恶意页面
**利用方式:**
1. 攻击者首先需要访问目标Liferay Portal实例(无需认证,PR:N)
2. 找到包含Forms组件且允许匿名或低权限用户提交的页面
3. 在表单的富文本字段中注入恶意JavaScript payload
4. 提交表单,恶意内容被持久化存储到数据库
5. 当其他用户(特别是管理员)浏览该表单或包含该表单内容的页面时,恶意脚本自动执行
6. 由于攻击向量为网络(AV:N),攻击复杂度低(AC:L),且影响范围会发生变化(S:C),该漏洞可被远程利用并影响其他用户
**影响后果:**
- 窃取用户会话Cookie
- 进行钓鱼攻击,伪造登录页面
- 劫持管理员账户权限
- 在受害者上下文中执行任意操作
- 窃取敏感表单数据
- 传播恶意软件