CVE-2026-23645CVE-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文件的上传和预览功能。