IPBUF安全漏洞报告
English
CVE-2026-32940 CVSS 9.3 严重

CVE-2026-32940 SiYuan SVG跨站脚本漏洞

披露日期: 2026-03-20

漏洞信息

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

相关标签

XSSSiYuanSVG注入RCE绕过严重

漏洞概述

SiYuan是一款个人知识管理系统。在3.6.0及以下版本中,由于SanitizeSVG组件的过滤列表不完整,未正确拦截data:text/xml和data:application/xml,导致攻击者可以在SVG中嵌入JavaScript。未授权的/api/icon/getDynamicIcon接口直接将用户输入的内容拼接到SVG标记中,且未进行转义。当受害者访问恶意链接并点击注入的链接时,将触发跨站脚本攻击。该漏洞已被修复,建议受影响用户尽快升级。

技术细节

该漏洞的核心在于SiYuan的SVG处理机制存在缺陷。首先,SanitizeSVG函数的黑名单机制不完善,仅屏蔽了data:text/html和data:image/svg+xml,却忽略了data:text/xml和data:application/xml,这两种MIME类型同样可以渲染包含JavaScript的SVG。其次,/api/icon/getDynamicIcon接口接受用户控制的content参数,并使用fmt.Sprintf直接将其插入到SVG代码中,中间没有任何转义处理。攻击者可以构造特定的Payload,利用上述MIME类型绕过过滤。由于响应头为Content-Type: image/svg+xml,浏览器会将其视为图像渲染。虽然前端img标签不支持交互链接,但如果通过直接访问URL或object/embed标签嵌入,用户点击SVG内的元素即可执行恶意JavaScript代码,从而窃取Cookie或执行敏感操作。

攻击链分析

STEP 1
侦察
攻击者确认目标系统运行SiYuan且版本低于3.6.1。
STEP 2
构造Payload
攻击者利用SanitizeSVG未拦截的data:text/xml协议构造包含恶意JS的SVG代码。
STEP 3
发送链接
攻击者诱导受害者访问包含恶意构造参数的/api/icon/getDynamicIcon链接。
STEP 4
触发漏洞
受害者访问链接后,浏览器渲染SVG图像。当受害者点击图像中的链接区域时,执行恶意JavaScript。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-32940 # The endpoint /api/icon/getDynamicIcon takes a 'content' parameter. # Due to incomplete sanitization, data:text/xml is allowed. import requests target_url = "http://target-ip:6806/api/icon/getDynamicIcon" payload = '''<svg xmlns="http://www.w3.org/2000/svg"> <a xlink:href="data:text/xml,<script>alert('XSS')</script>"> <text x="10" y="20" font-size="20">Click Me</text> </a> </svg>''' # Send request params = {"content": payload} response = requests.get(target_url, params=params) print(f"Status Code: {response.status_code}") print(f"Content-Type: {response.headers.get('Content-Type')}") print("If the user clicks the rendered image, XSS will trigger.")

影响范围

SiYuan <= 3.6.0

防御指南

临时缓解措施
如果无法立即升级,建议在网关或WAF层面对/api/icon/getDynamicIcon接口加强检测,拦截包含data:text/xml或data:application/xml关键字的请求参数,并限制该接口的访问权限。

参考链接

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