IPBUF安全漏洞报告
English
CVE-2025-43825 CVSS 6.5 中危

CVE-2025-43825:Liferay Portal/DXP Freemarker模板敏感信息泄露漏洞

披露日期: 2025-10-03

漏洞信息

漏洞编号
CVE-2025-43825
漏洞类型
信息泄露
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Liferay Portal 和 Liferay DXP

相关标签

信息泄露CVE-2025-43825LiferayFreemarker模板注入数据泄露PortalDXP中危漏洞企业门户

漏洞概述

CVE-2025-43825是Liferay Portal和Liferay DXP产品中存在的一个中危信息泄露漏洞。该漏洞源于Freemarker模板中不当地包含了敏感用户数据,允许未授权的攻击者访问并可能渲染本应受限的机密信息。

具体而言,该漏洞影响Liferay Portal 7.4.0至7.4.3.132版本,以及Liferay DXP多个季度版本,包括2025.Q1.0至2025.Q1.4、2024.Q4.0至2024.Q4.5、2024.Q3.0至2024.Q3.13、2024.Q2.1至2024.Q2.13、2024.Q1.1至2024.Q1.12、2023.Q4.0至2023.Q4.10、2023.Q3.1至2023.Q3.10,以及7.4 GA至update 92版本。

该漏洞的CVSS 3.1评分为6.5分,属于中危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),但需要低权限认证(PR:L),无需用户交互(UI:N)。漏洞对机密性影响为高(C:H),对完整性和可用性无影响。该漏洞由[email protected]报告并披露,披露日期为2025年10月3日。

由于Liferay是企业级门户和数字体验平台,广泛应用于企业内部系统、客户服务门户等场景,因此该漏洞可能导致企业敏感数据(如用户个人信息、内部业务数据等)被未授权访问,对数据安全构成严重威胁。

技术细节

CVE-2025-43825是Liferay Portal/DXP中Freemarker模板引擎的不安全使用导致的信息泄露漏洞。

**漏洞原理:**
Liferay Portal和DXP使用Freemarker作为其模板引擎来渲染动态页面内容。在受影响的版本中,某些Freemarker模板中不当地引用或暴露了敏感的用户数据对象。这些数据对象本应受到访问控制保护,但由于模板配置不当或数据绑定逻辑缺陷,导致敏感信息(如用户个人资料、权限信息、内部配置等)被包含在模板输出中。

**利用方式:**
1. 攻击者需要拥有Liferay系统的低权限账户(普通用户权限即可);
2. 攻击者通过正常登录后,访问特定的页面或触发特定的模板渲染流程;
3. 由于模板中包含了不应暴露的敏感数据,攻击者可以通过查看页面响应内容获取这些信息;
4. 攻击者可能通过分析这些泄露的数据,进一步发现系统内部结构或其他敏感信息。

**漏洞影响范围:**
该漏洞影响大量Liferay版本,包括多个季度的DXP版本以及Portal 7.4系列,表明这是一个在多个版本中长期存在但未被发现的系统性问题。攻击者无需特殊工具或高级技术,仅需低权限账户即可利用。

攻击链分析

STEP 1
步骤1:信息收集
攻击者识别目标系统运行的是受影响版本的Liferay Portal或DXP,通过查看页面源码、HTTP响应头或已知路径进行版本指纹识别。
STEP 2
步骤2:获取低权限凭证
攻击者通过社会工程、凭证填充攻击或注册开放注册功能等方式获取Liferay系统的低权限用户账户。
STEP 3
步骤3:认证访问
攻击者使用低权限账户登录Liferay系统,建立有效的会话。
STEP 4
步骤4:触发漏洞模板
攻击者访问包含不安全Freemarker模板的页面或功能,触发敏感数据渲染流程。
STEP 5
步骤5:提取敏感信息
攻击者从页面响应中提取泄露的敏感用户数据,包括但不限于用户凭证、个人信息、权限数据等。
STEP 6
步骤6:数据利用
攻击者利用获取的敏感信息进行进一步攻击,如权限提升、横向移动或数据窃取。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-43825 PoC - Liferay Portal/DXP Freemarker Template Information Disclosure # This vulnerability allows low-privileged users to access sensitive data # through improperly configured Freemarker templates. import requests # Target Liferay Portal/DXP instance TARGET_URL = "https://target-liferay-instance.com" # Step 1: Authenticate with low-privileged credentials session = requests.Session() login_data = { "_com_liferay_login_web_portlet_LoginPortlet_formDate": "", "_com_liferay_login_web_portlet_LoginPortlet_saveLastPath": "false", "_com_liferay_login_web_portlet_LoginPortlet_redirect": "", "_com_liferay_login_web_portlet_LoginPortlet_doActionAfterLogin": "false", "_com_liferay_login_web_portlet_LoginPortlet_login": "low_priv_user", "_com_liferay_login_web_portlet_LoginPortlet_password": "password123" } # Perform login response = session.post( f"{TARGET_URL}/c/portal/login", data=login_data, allow_redirects=True ) # Step 2: Access the vulnerable template endpoint # The vulnerable Freemarker template exposes sensitive user data vulnerable_endpoints = [ "/web/guest/home", "/group/control_panel/manage", "/c/portal/layout", ] for endpoint in vulnerable_endpoints: resp = session.get(f"{TARGET_URL}{endpoint}") # Step 3: Extract sensitive information from response if "sensitive_data" in resp.text or "userCredentials" in resp.text: print(f"[+] Sensitive data found at: {endpoint}") # Parse and extract confidential information # ... extraction logic here # Note: The exact endpoint depends on the specific vulnerable template # configuration in the target Liferay instance.

影响范围

Liferay Portal 7.4.0 - 7.4.3.132
Liferay Portal 7.4 GA - update 92
Liferay DXP 2025.Q1.0 - 2025.Q1.4
Liferay DXP 2024.Q4.0 - 2024.Q4.5
Liferay DXP 2024.Q3.0 - 2024.Q3.13
Liferay DXP 2024.Q2.1 - 2024.Q2.13
Liferay DXP 2024.Q1.1 - 2024.Q1.12
Liferay DXP 2023.Q4.0 - 2023.Q4.10
Liferay DXP 2023.Q3.1 - 2023.Q3.10

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)审查并限制低权限用户可访问的页面和功能,特别是涉及模板渲染的部分;2)监控异常的数据访问模式,特别是对敏感用户信息的批量请求;3)在WAF中配置规则,阻止对已知存在漏洞的模板路径的访问;4)暂时禁用可能存在问题的Freemarker模板或功能模块;5)加强用户认证和会话管理,限制可疑账户的活动;6)密切关注Liferay官方发布的安全公告和补丁,及时进行升级。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表