IPBUF安全漏洞报告
English
CVE-2026-40201 CVSS 5.4 中危

CVE-2026-40201: @diplodoc/search-extension 存储型XSS漏洞

披露日期: 2026-05-01

漏洞信息

漏洞编号
CVE-2026-40201
漏洞类型
存储型XSS (Stored XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
@diplodoc/search-extension

相关标签

Stored XSSXSS@diplodoc/search-extensionMarkdownWeb SecurityCWE-79

漏洞概述

@diplodoc/search-extension 存在存储型跨站脚本(XSS)漏洞。在 1.0.0 至 3.0.3 之前的版本中,由于未能正确过滤 Markdown 文件标题,攻击者可注入恶意脚本。当用户查看受影响的搜索结果或页面时,脚本将在浏览器中执行,可能导致会话劫持或数据泄露。

技术细节

该漏洞的核心在于应用程序在解析和展示 Markdown 文件元数据时,未对标题字段进行有效的上下文感知编码。攻击者利用低权限账户上传或编辑包含恶意 JavaScript 代码的 .md 文件,将 payload 嵌入到 title 标签或内容中。由于漏洞属于存储型 XSS,恶意数据被持久化存储在服务器数据库或文件系统中。当其他用户(管理员或普通用户)访问该搜索扩展功能并检索到相关文件时,未经过滤的标题内容会直接渲染到 HTML 页面中,导致浏览器解析并执行攻击者预设的脚本。根据 CVSS 向量分析,攻击需要用户交互(UI:R),这意味着受害者必须点击或浏览特定页面才会触发。攻击成功后,可获取受害者的 Cookie、Token 等敏感信息,进而接管账户权限。

攻击链分析

STEP 1
1. 恶意文件构造
攻击者创建一个包含恶意脚本的 .md 文件,将 XSS payload 注入到文件的元数据标题字段中。
STEP 2
2. 文件上传与存储
攻击者利用低权限账户将恶意文件上传到目标应用程序,该文件被系统索引并持久化存储。
STEP 3
3. 诱导访问
攻击者诱导受害者(如管理员或其他用户)访问搜索功能或特定的文件展示页面。
STEP 4
4. Payload 触发
当页面渲染搜索结果时,未经过滤的标题内容被直接插入 HTML,导致恶意脚本在受害者浏览器中执行。
STEP 5
5. 会话劫持
利用执行脚本窃取受害者的 Session Cookie 或执行其他恶意操作,接管用户账户。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept for CVE-2026-40201 # Create a malicious markdown file named 'exploit.md' --- title: <script>alert('CVE-2026-40201 Stored XSS');</script> --- # Normal Content This file contains a malicious payload in the title field.

影响范围

@diplodoc/search-extension >= 1.0.0, < 3.0.3

防御指南

临时缓解措施
如果无法立即升级,建议限制对搜索扩展组件的访问权限,并加强对上传文件的审核机制,确保文件标题不包含 HTML 或 JavaScript 特殊字符。

参考链接

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