IPBUF安全漏洞报告
English
CVE-2026-33067 CVSS 9.0 严重

CVE-2026-33067 SiYuan远程代码执行漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-33067
漏洞类型
远程代码执行 (RCE)
CVSS评分
9.0 严重
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
SiYuan

相关标签

RCEXSSSiYuanElectron代码注入严重漏洞

漏洞概述

SiYuan个人知识管理系统v3.6.0及以下版本存在严重安全漏洞。由于在渲染Bazaar插件市场的包元数据时未进行HTML转义,攻击者可注入恶意脚本。配合Electron的不安全配置,用户仅浏览市场页面即可触发XSS并升级为完整的远程代码执行。

技术细节

该漏洞源于SiYuan在渲染Bazaar页面的包元数据(如displayName和description)时,使用了模板字面量且未实施HTML实体转义,导致存储型XSS。更为严重的是,SiYuan基于Electron构建,其主窗口配置启用了`nodeIntegration: true`并禁用了`contextIsolation`。这意味着渲染进程与Node.js环境共享上下文,网页中的JavaScript代码可以直接调用`require()`引入系统模块。因此,攻击者注入的恶意脚本不仅能执行DOM操作,还能直接通过`child_process`等模块在受害者操作系统上执行任意命令,实现完全的RCE,且无需额外的用户交互。

攻击链分析

STEP 1
1. 恶意包构造
攻击者创建一个插件包,在displayName或description字段中注入包含Node.js执行命令的恶意JavaScript代码(如<script>标签)。
STEP 2
2. 发布至市场
攻击者将包含恶意元数据的包上传并发布到SiYuan的Bazaar(插件市场)。
STEP 3
3. 诱导浏览
受害者使用SiYuan软件(v3.6.0及以下)打开并浏览Bazaar页面。
STEP 4
4. 触发XSS
SiYuan前端在渲染包列表时,未过滤恶意字符,直接执行了注入的脚本。
STEP 5
5. 提权执行
由于Electron配置了nodeIntegration: true,恶意脚本调用系统API,在受害者机器上执行任意代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Malicious package.json metadata for PoC { "name": "exploit-poc", "displayName": "<img src=x onerror=\"require('child_process').exec('calc.exe')\">", "description": "Triggering RCE via XSS in SiYuan <= 3.6.0" } // Explanation: // 1. The 'displayName' contains an XSS payload using an <img> tag error handler. // 2. When SiYuan renders this in the Bazaar, the payload executes. // 3. The payload uses Node.js 'child_process' to spawn a calculator (demonstrating code execution).

影响范围

SiYuan <= 3.6.0

防御指南

临时缓解措施
建议用户立即将SiYuan更新至安全版本3.6.1。在未升级前,请尽量避免使用Bazaar(插件市场)功能,不要浏览未知的插件列表,或者在网络隔离的环境下操作,以防止加载恶意Payload。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表