CVE-2026-3673该漏洞影响Frappe 16.10.10版本。由于系统在渲染`_user_tags`时未对标签内容进行适当的HTML转义,经过身份认证的攻击者能够存储精心构造的恶意标签值。当受害者访问包含这些标签的列表或报告视图时,嵌入的JavaScript代码将被触发并执行,导致存储型跨站脚本攻击,严重危及用户会话和数据安全。
漏洞源于Frappe框架在处理标签渲染时的安全缺陷。具体而言,易受攻击的渲染器将存储在`_user_tags`中的用户输入直接插值到HTML属性和元素内容中,完全缺乏必要的上下文感知输出转义机制。攻击流程如下:首先,攻击者利用低权限账户登录系统,在目标实体的标签字段中注入包含HTML/JavaScript的恶意载荷(如`onmouseover`事件处理程序或`<script>`标签)。由于后端未进行有效的过滤或净化,该载荷被持久化存储于数据库中。随后,当具有更高权限的用户(如管理员)浏览包含该实体的数据列表或生成相关报告时,服务器端直接将未转义的恶意数据嵌入响应页面的HTML结构中。客户端浏览器解析HTML时执行攻击者脚本,从而可能窃取敏感Cookie、篡改页面内容或执行未授权的管理操作。该漏洞利用了信任边界,将用户输入当作可信代码执行。