CVE-2026-3837Frappe框架版本16.10.0中存在一个安全漏洞。经过身份验证的攻击者可以在多种字段类型中持久化精心构造的值。当其他用户在Desk界面中打开受影响的文档时,这些未经过滤的值会被插入到原始HTML属性或元素内容中,从而触发客户端脚本执行。该漏洞是由于易受攻击的格式化程序实现未对存储的值进行转义处理直接插值到HTML中导致的,可能造成低程度的机密性和完整性影响。
该漏洞属于存储型跨站脚本攻击(Stored XSS)。其根本原因在于Frappe框架的某些格式化程序在处理数据输出时存在缺陷。具体来说,当攻击者拥有低权限账户时,可以利用系统提供的输入接口,在特定的字段类型中注入恶意JavaScript代码或HTML标签。系统后端在接收并存储这些数据时未进行足够的过滤或清洗。当另一位用户(通常是具有更高权限的管理员)通过Desk前端界面访问包含该恶意数据的文档时,后端在渲染页面时,会调用存在漏洞的格式化程序将数据直接拼接到HTML属性或DOM元素内容中,而未执行HTML实体转义。这导致浏览器将攻击者注入的数据解析为可执行的脚本代码。由于需要用户交互(UI:R)触发,攻击者通常需要诱导受害者点击链接或查看特定页面。利用此漏洞,攻击者可以窃取受害者的Session ID、Cookie等敏感信息,或者以受害者的身份执行未授权操作。