CVE-2026-34605SiYuan个人知识管理系统在3.6.0至3.6.2之前的版本中,`SanitizeSVG`函数存在安全绕过漏洞。攻击者可利用命名空间前缀构造恶意SVG,绕过标签检查,导致浏览器解析时执行恶意脚本,造成跨站脚本攻击(XSS)。
该漏洞源于SiYuan在3.6.0版本引入的`SanitizeSVG`函数对SVG标签的过滤逻辑缺陷。Go HTML5解析器在处理带有命名空间前缀的元素(如`<x:script>`)时,将其记录为不同的标签字符串,从而绕过了针对"script"标签的黑名单检查。然而,当浏览器以`Content-Type: image/svg+xml`解析响应时,其XML解析器会根据xmlns声明将前缀`x`解析为SVG命名空间,进而执行其中的脚本代码。由于接口未设置Content Security Policy(CSP),攻击者可诱导用户访问恶意链接,窃取用户凭据或执行任意操作。