支持本站 — 捐款将帮助我们持续运营

目标:1000 元,已筹:736

73.6%
一、 漏洞 CVE-2026-23645 基础信息
漏洞信息
                                        # 思源笔记存储型XSS漏洞

## 概述

SiYuan 是一款自托管的开源个人知识管理软件。在版本 3.5.4-dev2 之前存在一个存储型跨站脚本(Stored XSS)漏洞。

## 影响版本

3.5.4-dev2 之前的 SiYuan 版本

## 细节

该漏洞源于应用未对上传的 SVG 文件进行内容过滤和转义。攻击者可构造包含恶意 JavaScript 代码的 SVG 文件,当用户上传并查看该文件时,恶意代码将在用户的浏览器中执行。

## 影响

攻击者可利用此漏洞在用户登录会话中执行任意 JavaScript 代码,可能导致敏感数据泄露、会话劫持或账户操控等后果。
                                        
神龙判断

是否为 Web 类漏洞: 未知

判断理由:

N/A
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
SiYuan Vulnerable to Stored Cross-Site Scripting (XSS) via Unrestricted SVG File Upload
来源:美国国家漏洞数据库 NVD
漏洞描述信息
SiYuan is self-hosted, open source personal knowledge management software. Prior to 3.5.4-dev2, a Stored Cross-Site Scripting (XSS) vulnerability exists in SiYuan Note. The application does not sanitize uploaded SVG files. If a user uploads and views a malicious SVG file (e.g., imported from an untrusted source), arbitrary JavaScript code is executed in the context of their authenticated session. This vulnerability is fixed in 3.5.4-dev2.
来源:美国国家漏洞数据库 NVD
CVSS信息
N/A
来源:美国国家漏洞数据库 NVD
漏洞类别
在Web页面生成时对输入的转义处理不恰当(跨站脚本)
来源:美国国家漏洞数据库 NVD
二、漏洞 CVE-2026-23645 的公开POC
#POC 描述源链接神龙链接
三、漏洞 CVE-2026-23645 的情报信息
  • 标题: Do not execute scripts in serving SVG by default to prevent XSS · Issue #16844 · siyuan-note/siyuan -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            - **Issue Title**: Do not execute scripts in serving SVG by default to prevent XSS
    - **Issue Number**: #16844
    - **Status**: Closed
    - **Author**: 88250
    - **Created**: 4 days ago
    - **Labels**: Enhancement
    - **Milestone**: 3.5.4
    - **Related GHSA Vulnerabilities**:
      - GHSA-pcqj-j3mq-jv5j
      - GHSA-w836-5qpm-7r93
    - **Issue Description**: 设置 - 编辑器 - 允许执行 SVG 脚本,默认不勾选,即不允许脚本执行,从服务端伺服的 assets/xxxx.svg 会剔除其中的脚本。
    - **Commits**:
      - Do not execute scripts in assets SVG by default to prevent XSS #16 (Verified)
      - Do not execute scripts in serving SVG by default to prevent XSS #1 (Verified)
    - **Comments**:
      - @YuxinZhaozyx又被提到,关心插件是否受此影响
      - GoVulnBot提及在一个可能的Go漏洞中提到了此问题
    - **Assignees**: 88250
    - **Participants**: 88250, TCOTC, GoVulnBot
                                            
    Do not execute scripts in serving SVG by default to prevent XSS · Issue #16844 · siyuan-note/siyuan
  • 标题: Stored Cross-Site Scripting (XSS) via Unrestricted SVG File Upload · Advisory · siyuan-note/siyuan · GitHub -- 🔗来源链接

    标签:x_refsource_CONFIRM

    神龙速读:
                                            ### 漏洞关键信息
    
    #### 漏洞类型
    - **Stored Cross-Site Scripting (XSS) via Unrestricted SVG File Upload**
    
    #### 严重性
    - **高危**
    
    #### 漏洞描述
    - **Summary**: 
      - SiYuan Note 存在存储型跨站脚本 (XSS) 漏洞,应用未对上传的 SVG 文件进行清洗处理。
      - 用户上传并查看一个恶意 SVG 文件(例如,从不受信任的来源导入),任意 JavaScript 代码会在他们认证的会话上下文中执行。
    
    - **Details**: 
      - 应用允许认证用户上传文件,包括 .svg 图像,且未清洗输入以移除嵌入的 JavaScript 代码(如 <script> 标签或事件处理程序)。
    
    #### PoC
    - 步骤说明:创建一个新“每日备注” → 创建包含恶意JavaScript的`test.svg`文件 → 在当前每日备注中上传文件 → 打开文件 → JavaScript代码立即执行。
    
    #### 影响
    - 允许上传包含恶意脚本的SVG文件。当用户导出此文件时,嵌入的任意 JavaScript 代码在其浏览器上下文中执行。
    
    #### 解决方案
    - 链接到 Pull Request:16844
    
    #### CVE与CVSS信息
    - **CVE ID:** CVE-2026-23645
    - **Weaknesses:** CWE-79
    
    #### 受影响版本与修补版本
    - **受影响版本:** v3.5.3
    - **修补版本:** v3.5.4
                                            
    Stored Cross-Site Scripting (XSS) via Unrestricted SVG File Upload · Advisory · siyuan-note/siyuan · GitHub
  • 标题: :lock: Do not execute scripts in assets SVG by default to prevent XSS… · siyuan-note/siyuan@11115da · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            ### 关键漏洞信息
    
    #### 1. **SVG 脚本执行漏洞**
    - **描述**: 不要在默认情况下执行 SVG 资源中的脚本,以防止 XSS 攻击。
    - **相关文件**: 
      - `app/appearance/langs/*.json` (多个语言文件)
      - `app/config/editor.ts`
      - `app/src/mobile/settings/editor.ts`
      - `app/types/config.d.ts`
      - `kernel/config.conf`
      - `kernel/editor.go`
    - **修改**: 添加了 `allowSVGScript` 配置项,用于控制是否允许在 SVG 中执行脚本,并在多个语言文件中添加了关于该配置项的提示,提醒用户注意 XSS 风险。
    
    #### 2. **XSS 攻击风险**
    - **描述**: 如果启用了在 SVG 中执行脚本的功能,SVG 内的代码将不会经过安全过滤,可能存在 XSS 攻击的风险。
    - **相关文件**:
      - `kernel/misc.go`: 添加了 `RemoveScriptsInSVG` 函数,用于移除 SVG 中的脚本标签及其内容。
      - `kernel/util.go`: 添加了 `extractSVG` 函数,用于提取并移除 SVG 中的脚本标签。
    
    #### 3. **国际化支持**
    - **描述**: 在多个语言文件中添加了关于 `allowSVGScript` 配置项的描述,以支持多语言警告信息。
    - **相关文件**: 
      - `app/appearance/langs/*.json`
    
    ### 总结
    该提交主要针对 SVG 脚本执行可能导致的 XSS 攻击进行了安全加固,通过添加配置项和相关提示,让用户能够更安全地控制 SVG 脚本的执行,并对多个语言文件进行了更新以提供多语言支持。同时,通过代码修改,进一步确保了在默认情况下不执行不安全的 SVG 脚本。
                                            
    :lock: Do not execute scripts in assets SVG by default to prevent XSS… · siyuan-note/siyuan@11115da · GitHub
  • https://nvd.nist.gov/vuln/detail/CVE-2026-23645
四、漏洞 CVE-2026-23645 的评论

暂无评论


发表评论