CVE-2026-39311Trilium Notes 0.102.1及之前版本存在严重安全缺陷。由于缺乏SVG清理且禁用了内容安全策略(CSP),攻击者可诱导认证用户查看恶意SVG附件。恶意SVG利用同源策略窃取CSRF令牌,并通过/api/script/exec接口在服务器端执行任意Node.js代码,导致服务器被完全控制。
该漏洞源于Trilium Notes的不安全设计架构。首先,系统在提供SVG附件时使用image/svg+xml MIME类型,且未实施任何输入清理机制,同时显式禁用了Helmet的Content Security Policy (CSP) 中间件。这使得攻击者可以在SVG文件中嵌入恶意JavaScript代码,并在浏览器端成功执行。其次,由于恶意SVG在受害者的同源策略(SOP)上下文中运行,它拥有访问Trilium后端API的权限。攻击脚本能通过发送fetch('/')请求获取页面DOM,利用正则匹配提取出文档体中的CSRF令牌。最后,攻击者构造包含恶意Node.js代码的POST请求发送至/api/script/exec接口,携带窃取的CSRF令牌,诱使服务器端执行任意系统命令,从而实现完全的远程代码控制。