CVE-2026-40107SiYuan个人知识管理系统在3.6.4之前的版本中存在安全漏洞。由于Mermaid.js配置不当,攻击者可构造恶意图表笔记。当受害者使用Electron客户端打开这些笔记时,Windows系统会将协议相对URL解析为UNC路径,自动尝试SMB认证。这导致受害者的NTLMv2哈希被发送到攻击者控制的服务器,造成敏感信息泄露。
该漏洞源于SiYuan对Mermaid.js的配置存在缺陷,设置了securityLevel为loose且启用了htmlLabels。在此模式下,Mermaid内部的DOMPurify无法有效清洗img标签的src属性,允许恶意代码通过SVG的foreignObject块注入,且SiYuan在通过innerHTML渲染SVG时未进行二次清洗。攻击者利用协议相对URL(如//attacker.com/img.png)构造恶意Mermaid图表。当受害者在Windows平台的Electron客户端中查看该笔记时,客户端会尝试解析该URL。Windows将其转换为UNC路径(\attacker.com\img.png)并自动发起SMB连接请求,在认证过程中发送受害者的NTLMv2哈希值。攻击者截获该哈希后可进行离线破解或中继攻击。