CVE-2026-34448SiYuan是一款个人知识管理系统。在3.6.2版本之前,存在严重的存储型XSS漏洞。攻击者可在属性视图的资源字段植入恶意URL。当受害者打开启用了“封面来源 -> 资源字段”的画廊或看板视图时,恶意脚本将被触发。由于代码未对URL进行转义,直接注入到`<img src="...">`中,导致脚本执行。在Electron桌面客户端中,这将导致任意操作系统命令执行。
该漏洞的核心在于SiYuan对“属性视图”中Asset字段内容的处理逻辑存在缺陷。攻击者可以构造包含JavaScript代码的Payload(例如使用`javascript:`协议或利用特定浏览器/Electron渲染特性),并将其作为URL输入到Asset字段中。应用程序在处理该字段时,未能正确验证URL的合法性,且未对特殊字符进行HTML实体编码。当用户浏览特定的视图模式(画廊或看板)时,系统会读取该字段内容,并将其未经过滤地拼接到HTML文档的`<img src="...">`标签属性中。这导致攻击者的Payload在受害者的浏览器上下文中被执行。
特别地,SiYuan的Electron桌面客户端为了实现桌面级功能,配置了`nodeIntegration: true`和`contextIsolation: false`。这种配置打破了浏览器沙箱与操作系统之间的安全屏障。因此,通过存储型XSS漏洞执行的JavaScript代码可以直接调用Node.js的`child_process`模块,从而在受害者主机上执行任意系统命令,实现完全的本地系统控制。