CVE-2025-43821CVE-2025-43821是存在于Liferay Portal和Liferay DXP中Commerce Product Comparison Table(产品比较表)组件的跨站脚本(XSS)漏洞。该漏洞的CVSS 3.1评分为5.4分,属于中危级别。
Liferay是一款广泛使用的企业级开源门户平台和数字体验平台(DXP),被大量企业用于构建门户网站、内容管理系统以及电子商务解决方案。其Commerce模块提供了完整的电商功能,包括产品展示、比较、购物车等。
该漏洞位于Commerce Product Comparison Table widget中,允许远程攻击者通过在Commerce产品的名称(Name)文本字段中注入精心构造的恶意载荷来执行任意Web脚本或HTML代码。由于产品名称是用户可编辑的字段,低权限用户(如产品内容编辑者)即可利用此漏洞。
当其他用户浏览包含恶意产品名称的产品比较表页面时,嵌入的恶意脚本将在受害者浏览器上下文中执行,可能导致会话劫持、敏感信息窃取、钓鱼攻击或其他恶意操作。漏洞的存在表明Liferay在渲染用户可控的产品名称字段时未进行充分的输入过滤和输出编码。
该漏洞属于存储型XSS(Stored XSS),其根本原因在于Commerce Product Comparison Table widget在渲染产品名称字段时未对用户输入进行适当的HTML实体编码或过滤。
技术原理:
1. Liferay Commerce模块允许管理员或具有相应权限的用户创建和编辑产品信息,其中包括产品名称(Name)字段。
2. 该字段接受用户输入的文本内容,但服务端在存储前未对潜在的恶意HTML/JavaScript代码进行充分过滤。
3. 当产品被添加到Product Comparison Table widget并展示给其他用户时,widget直接渲染了未经转义的产品名称内容。
4. 攻击者可以在产品名称字段中注入类似 `<script>alert(document.cookie)</script>` 或 `<img src=x onerror=...>` 的恶意载荷。
5. 当受害者访问包含恶意产品名称的比较表页面时,浏览器解析并执行嵌入的恶意脚本。
利用条件:
- 攻击者需要拥有Commerce产品的编辑权限(低权限要求,PR:L)
- 需要受害者用户与被注入页面进行交互(UI:R),例如访问产品比较页面
- 攻击通过网络进行(AV:N),攻击复杂度低(AC:L)
影响范围:
- 机密性影响低(C:L):可窃取会话Cookie等敏感信息
- 完整性影响低(I:L):可在受害者上下文中执行未授权操作
- 可用性影响无(A:N):不会直接导致服务不可用
- 影响范围发生变化(S:C):漏洞利用可影响到其他安全域