CVE-2025-43824CVE-2025-43824是Liferay Portal及其商业版本Liferay DXP中Profile widget(个人资料组件)存在的一个安全漏洞。该漏洞源于Profile组件在生成vCard(虚拟名片)文件下载时,未对用户姓名进行充分的过滤和转义处理,直接将其嵌入到HTTP响应的Content-Disposition头部字段中。攻击者(远程已认证用户)可以通过修改其个人资料中的姓名字段,注入特殊字符(如双引号、分号等),从而篡改Content-Disposition头部的filename参数,实现下载文件扩展名的任意更改。例如,攻击者可以将原本的.vcf文件更改为.html或.exe等可执行扩展名,结合其他攻击手段(如钓鱼攻击或恶意文件分发),可能对其他用户造成安全威胁。该漏洞的CVSS 3.1评分为5.4,属于中等严重等级。攻击需要网络访问、低权限认证以及用户交互(如下载文件),影响范围包括机密性和完整性的低程度损害。Liferay官方已在2025年10月6日发布安全公告,并提供了相应的修复补丁。该漏洞影响多个Liferay版本,包括Liferay Portal 7.4.0至7.4.3.111以及Liferay DXP 2023.Q3、2023.Q4等多个季度版本。
从技术层面分析,该漏洞的核心问题在于Content-Disposition头部注入(Header Injection)。HTTP协议中的Content-Disposition头部用于指示浏览器如何处理下载的文件,其典型格式为:Content-Disposition: attachment; filename="example.vcf"。当filename参数的值由用户可控输入(如用户姓名)拼接而成,且未进行适当的转义处理时,攻击者可以通过在姓名中插入特殊字符来破坏原有的头部结构。具体而言,攻击者可以在个人资料姓名中插入双引号(")来提前关闭filename字段,然后注入新的参数或修改文件扩展名。例如,构造姓名为:victim"; filename="malicious.html,下载时服务器返回的Content-Disposition头部将变为:Content-Disposition: attachment; filename="victim"; filename="malicious.html",部分浏览器或客户端可能会解析为第二个filename参数,从而下载到扩展名为.html的文件。攻击者进一步可以将.html文件中嵌入恶意JavaScript代码,当其他用户打开下载的文件时,将触发跨站脚本攻击(XSS)。利用条件包括:1)攻击者需要拥有有效的Liferay账户(低权限即可);2)攻击者需要修改自己的个人资料姓名;3)需要诱导其他用户下载该攻击者的vCard文件或访问相关页面。该漏洞利用难度较低,但需要用户交互配合,且影响范围有限。