CVE-2026-34725DbGate是一款跨平台数据库管理器。在7.0.0至7.1.5之前的版本中,存在一个存储型XSS漏洞。该漏洞源于攻击者控制的SVG图标字符串在未经清理的情况下被渲染为原始HTML。在Web界面中,这允许脚本在另一用户的浏览器中执行;在Electron桌面应用中,由于配置了nodeIntegration: true和contextIsolation: false,这可能升级为本地代码执行。
该漏洞的核心问题在于DbGate在处理用户输入的SVG图标时,缺乏有效的HTML净化处理。攻击者可以构造包含恶意JavaScript代码的SVG字符串,并将其存储在数据库中。当受害者访问包含该恶意图标的页面时,浏览器会将其解析为HTML并执行其中的脚本。在Web端,这仅限于跨站脚本攻击。然而,由于DbGate基于Electron框架构建,且其配置中启用了nodeIntegration: true并禁用了contextIsolation,导致渲染进程的上下文可以直接访问Node.js环境。这意味着攻击者通过XSS触发的脚本不仅拥有浏览器的权限,还能直接调用Node.js API,从而在受害者的本地操作系统上执行任意命令,实现从远程脚本执行到本地代码执行的权限提升。漏洞发生在DbGate处理图标渲染的环节,应用未对SVG数据进行实体编码或使用DOMPurify等库进行过滤,直接将用户输入拼接到页面DOM中。这种配置组合消除了JavaScript与操作系统之间的隔离墙,因此攻击者利用存储型XSS漏洞注入的Payload,能够轻易突破Electron的沙箱限制,利用require('child_process')等模块执行系统级命令,造成严重的安全后果。