ERPNext 16.16.0 – Stored XSS in POS cart item rendering 漏洞概述 ERPNext 16.16.0 版本在 POS(销售点)购物车商品渲染中存在存储型跨站脚本(XSS)漏洞。攻击者可以通过在商品名称、描述或图片字段中注入恶意 HTML/JavaScript 代码,触发未转义的渲染,从而在 POS 操作员界面中执行恶意脚本。 影响范围 受影响产品: ERPNext 受影响版本: 16.16.0 漏洞类型: 存储型跨站脚本(XSS) CVSS v4.0 基础评分: 4.8 CVSS v4.0 向量字符串: CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:R/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N CVE ID: CVE-2026-42839 修复方案 目前尚无补丁可用。建议用户等待官方发布修复版本,并在修复前采取以下临时措施: 1. 限制对 ERPNext 系统的访问权限,仅允许授权用户访问。 2. 对输入数据进行严格的验证和过滤,防止恶意代码注入。 3. 定期更新和监控系统,确保及时发现和应对潜在的安全威胁。 POC 代码 通过商品记录字段(具有商品编辑权限的用户) 1. 以具有商品经理或库存经理角色的用户身份登录 ERPNext。 2. 导航到 Stock → Items → → Edit(或创建新商品)。 3. 将 Description 字段设置为不包含 的载荷(以绕过守卫条件): 4. 保存商品。 5. 确认载荷已按原样存储: 6. 以 POS 操作员(不同用户/会话)身份打开 POS 界面: 导航到 Point of Sale → 打开任意 POS 会话 → 将恶意商品添加到购物车。 通过图片属性注入的替代路径 将商品的图片字段设置为: 当商品添加到购物车时, 渲染: 第一个 属性被覆盖,或者根据浏览器行为两者都会触发,注入的处理程序都会执行。