CVE-2025-64759Homarr是一款开源自定义仪表板应用程序。在1.43.3版本之前,存在一个严重的存储型跨站脚本(Stored XSS)漏洞。该漏洞源于应用程序对用户上传的SVG文件缺乏充分的输入验证和过滤,攻击者可以通过上传包含恶意JavaScript代码的SVG文件,在受害用户的浏览器中执行任意JavaScript脚本。由于SVG文件会在页面中被渲染或通过重定向访问,攻击者可以利用此漏洞在管理员不知情的情况下,诱导管理员访问包含恶意SVG的页面,从而在管理员会话中执行特权操作。攻击的最终目标是将攻击者账户添加到应用程序的"credentials-admin"组,使其获得完全的管理员权限,包括用户管理、配置修改等高危操作。此漏洞的利用复杂度较低,但需要一定的用户交互(管理员访问特定页面),CVSS评分达到8.1分,属于高危漏洞。
该漏洞的根本原因在于Homarr应用程序在处理用户上传的SVG文件时,未对SVG内容中的JavaScript代码进行有效过滤或清理。SVG格式支持<script>标签和事件处理器属性(如onload、onerror等),攻击者可以构造包含恶意JavaScript的SVG文件并上传到服务器。由于SVG文件被存储在服务器端,当其他用户(尤其是管理员)访问或触发该SVG文件的渲染时,恶意JavaScript代码会在其浏览器上下文中执行。攻击者可以利用此机会通过JavaScript API(如fetch)调用应用程序的管理接口,发送添加用户到credentials-admin组的请求。由于管理员已经通过身份认证,攻击者的JavaScript代码可以在管理员会话中执行敏感操作,实现权限提升。整个攻击过程利用了SVG格式的特殊性和应用程序对上传文件内容验证不足的缺陷,属于典型的存储型XSS漏洞利用模式。