CVE-2025-65267CVE-2025-65267是ERPNext和Frappe Framework中的一个高危安全漏洞,CVSS评分达到9.0(严重级别)。该漏洞源于系统对用户上传的SVG格式头像图片缺乏有效的安全验证,导致攻击者可以在SVG文件中嵌入恶意JavaScript代码。当其他用户(特别是管理员)查看或点击该头像图片链接时,嵌入的恶意脚本会在受害者浏览器中执行,从而实现存储型跨站脚本攻击(Stored XSS)。由于SVG文件会被存储在服务器上并在用户个人资料页面展示,恶意代码会持续存在并对所有访问该页面的用户生效。成功利用此漏洞可能导致会话劫持、账户接管、敏感信息泄露,甚至通过管理员账户实现对整个ERPNext系统的完全控制。攻击者利用低权限账户即可发起攻击,但需要诱导管理员查看头像图片才能完成完整的攻击链。
该漏洞的根本原因在于ERPNext和Frappe Framework在处理用户头像上传时,仅检查文件扩展名为.svg,但未对SVG文件内容进行安全过滤。SVG格式本身支持内联JavaScript(<script>标签)和事件处理器(如onload、onerror等),这使得攻击者可以构造包含恶意脚本的SVG文件。上传后,SVG文件被存储在服务器端,并在用户个人资料页面作为头像显示。当管理员访问攻击者的个人资料页面时,浏览器会解析并执行SVG中嵌入的JavaScript代码。攻击者可通过XSS获取管理员的会话Cookie、执行任意API调用、修改系统配置或创建新管理员账户。攻击流程包括:1) 攻击者注册低权限账户;2) 上传包含XSS payload的恶意SVG文件作为头像;3) 等待管理员查看攻击者资料;4) 恶意脚本在管理员浏览器中执行;5) 攻击者获取管理员权限。修复方案需要在上传时对SVG内容进行解析,移除所有脚本元素和事件处理器,或将SVG转换为安全格式(如PNG)。