CVE-2025-64176CVE-2025-64176是ThinkDashboard应用中的一个高危安全漏洞。ThinkDashboard是一款使用Go语言和原生JavaScript构建的自托管书签仪表板应用。该漏洞存在于备份导入功能中,影响版本0.6.7及以下。攻击者可以利用备份导入功能上传任意文件到应用的/data目录。漏洞的核心问题在于:用户在导入备份文件时,可以选择.zip文件来绕过客户端的文件类型验证机制。由于缺乏有效的服务端文件类型校验,攻击者可以上传包含恶意代码的文件,例如包含JavaScript代码的HTML文件或可执行脚本。这些文件被存储在服务器上后,可能导致存储型XSS(跨站脚本攻击),攻击者可以利用此漏洞窃取用户会话、劫持账户或进行钓鱼攻击。此外,攻击者还可以通过此漏洞分发恶意软件或后门程序,对系统安全造成进一步威胁。该漏洞无需任何认证即可利用,攻击者只需能够访问应用的备份导入功能即可发起攻击。漏洞已于版本0.6.8中修复。
ThinkDashboard的备份导入功能存在严重的安全验证缺陷。漏洞原理分析如下:1. 客户端验证绕过:应用在前端使用JavaScript对上传文件类型进行验证,但攻击者可以通过拦截并修改HTTP请求或直接使用工具发送请求来绕过客户端验证。2. 文件上传点:备份导入功能位于应用的备份管理模块,攻击者构造特定的.zip文件(内部可包含任意类型的文件)上传到/data目录。3. 服务端验证缺失:服务器端未对.zip文件内部包含的文件进行类型检查和内容验证,直接解压并存储到指定目录。4. 利用方式:攻击者可以上传包含恶意HTML/SVG文件(内嵌XSS payload)或JavaScript文件的.zip压缩包。上传成功后,攻击者通过访问上传文件的URL即可触发存储型XSS攻击。由于文件存储在可公开访问的目录下,恶意代码会在其他用户访问时被执行。5. CVSS评分5.3(中等),攻击复杂度低,无需认证和用户交互,但实际影响受限于机密性和完整性影响均为低。