CVE-2026-33066SiYuan是一款个人知识管理系统。在3.6.0及以下版本中,其后端渲染README时未调用清理函数,导致Markdown中的恶意HTML被保留。前端直接渲染未净化的HTML,触发存储型XSS。由于SiYuan的Electron配置启用了Node集成并关闭了上下文隔离,该漏洞可升级为RCE,允许攻击者完全控制系统。
漏洞源于SiYuan后端在渲染Markdown格式的README时,使用了lute.New()但未开启SetSanitize(true)选项。这使得攻击者可以在Markdown中注入恶意HTML标签(如<script>或事件触发标签)。前端接收后端渲染的HTML内容,直接赋值给innerHTML,导致脚本在客户端执行。由于SiYuan基于Electron,且配置了nodeIntegration: true和contextIsolation: false,网页中的JavaScript拥有Node.js环境的完整权限。因此,注入的恶意脚本可以通过require('child_process')等模块调用系统级命令,从而实现从XSS到远程代码执行(RCE)的权限提升。