CVE-2025-56379CVE-2025-56379是ERPNEXT企业资源规划系统v15.67.0版本中博客文章功能(Blog Post Feature)存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞由安全研究员MoAlali发现并报告,于2025年10月2日由MITRE机构公开披露。根据CVSS 3.1评分体系,该漏洞评分为5.4分,属于中危级别。
ERPNEXT是一款基于Python和JavaScript开发的开源企业资源规划(ERP)软件,广泛应用于企业的财务管理、库存管理、客户关系管理、人力资源等多个业务领域。由于其用户群体广泛且涉及大量敏感业务数据,安全性至关重要。该漏洞位于博客文章的内容字段(content field)中,攻击者可以通过精心构造的恶意负载(payload)注入到该字段中,当其他用户查看该博客文章时,恶意脚本将在受害者浏览器中执行。
存储型XSS漏洞的危害性通常较高,因为恶意脚本被永久存储在目标服务器上,每当有用户访问受影响的页面时都会触发。与反射型XSS不同,存储型XSS不需要诱导受害者点击特定链接,攻击者只需发布包含恶意代码的内容即可影响所有访问该页面的用户。在企业ERP系统中,这类漏洞可能被利用来窃取用户会话、获取敏感业务数据、进行权限提升或作为进一步攻击的跳板,对企业信息安全构成严重威胁。
该漏洞的根本原因在于ERPNEXT v15.67.0的博客文章功能在处理用户输入的内容字段时,未能对用户提交的数据进行充分的过滤和转义处理。具体而言,当用户创建或编辑博客文章时,系统将content字段中的原始HTML/JavaScript代码直接存储到数据库中,而未对其中可能包含的恶意脚本标签(如<script>、<img onerror=>、<svg onload=>等)进行适当的过滤或编码。
漏洞利用流程如下:
1. 攻击者首先需要获得系统的低权限账户(PR:L),这可以通过注册新用户或利用其他途径获取。
2. 攻击者登录系统后,访问博客文章创建功能,在content字段中注入精心构造的XSS负载,例如:<script>alert(document.cookie)</script>或<img src=x onerror=alert(document.domain)>。
3. 提交博客文章后,恶意负载被存储到后端数据库中。
4. 当其他用户(包括管理员)浏览该博客文章页面时,服务器返回包含未转义恶意脚本的HTML内容。
5. 受害者的浏览器解析并执行该恶意脚本,攻击者可借此窃取Cookie、会话令牌,或执行其他恶意操作。
由于该漏洞需要用户交互(UI:R)才能触发(即受害者需要主动访问受感染的博客文章页面),且攻击复杂度较低(AC:L),同时影响范围会发生变化(S:C),表明该漏洞可能影响到超出预期安全上下文的组件。攻击者可通过此漏洞窃取用户凭证、劫持会话、进行钓鱼攻击或作为企业内网渗透的入口点。