CVE-2026-100633
SiYuan 3.8.0 至 3.8.3 通过 MCP 文件操作存在路径遍历漏洞
- 已发布
- 2026年9月26日
- 已更新
- 2026年10月5日
- 分配 CNA
- VulnCheck
- 观察到的证据
- 2026年10月3日
初级CVSS
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X低 · 未来 30 天
- 百分位
- 34.3%
- 型号日期
- 2026年10月25日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
SiYuan 是一个自托管的个人知识管理系统。在 3.8.0 至 3.8.3 版本中,MCP 文件工具的敏感路径防护(util.IsForbiddenAbsPath(),由 resolvePath() 调用)仅应用于递归操作的允许根目录,而未应用于每个解析后的后代路径——这是对 GHSA-c8r8-95hg-mp34 的不完整修复。因此,使用应用内 Agent 或外部 MCP 服务器的已认证管理员可以绕过受保护工作区文件的拒绝列表:file.grep 可以从非隐藏的受保护后代中返回匹配行(例如 conf/conf.json、TLS 密钥、data/snippets/conf.json、data/templates/、data/.siyuan/publishAccess.json、笔记本 .siyuan 内部文件或内核日志),file.copy 可以将受保护后代复制到普通路径,随后 file.read 可以从中读取它们,而 unzip 可以使用普通的、词法上包含的 ZIP 成员名称覆盖受保护后代。由于 file.grep 被全局归类为安全操作,它不会收到每次调用的确认,而 file.copy 和 unzip 的确认卡片仅显示允许的根目录参数。此问题已在 3.8.4 版本中修复。建议标题:SiYuan 3.8.0 至 3.8.3 递归 MCP 文件操作中的敏感路径防护绕过。
来源
Published SiYuan CVE · 报告者:dpfkdlemtp · 官方记录与公告链接
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。