IPBUF安全漏洞报告
English
CVE-2021-47837 CVSS 7.2 高危

CVE-2021-47837: Markdownify 1.2.0 持久型跨站脚本漏洞

披露日期: 2026-01-16

漏洞信息

漏洞编号
CVE-2021-47837
漏洞类型
持久型XSS(存储型跨站脚本)
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Markdownify 1.2.0 (electron-markdownify)

相关标签

持久型XSSMarkdownify跨站脚本CVE-2021-47837

漏洞概述

Markdownify 1.2.0版本存在持久型跨站脚本(Stored XSS)漏洞,该漏洞存在于markdown文件处理功能中。攻击者可以通过上传包含恶意脚本代码的markdown文件来利用此漏洞。当其他用户打开或预览这些被植入恶意代码的markdown文件时,嵌入的JavaScript代码会在受害者浏览器中执行。由于这是持久型XSS,恶意代码会存储在服务器或文件系统中,只要文件被访问就会触发。攻击者可利用此漏洞窃取用户会话信息、劫持用户账户、进行钓鱼攻击,甚至在某些情况下可能进一步利用导致远程代码执行。

技术细节

该漏洞源于Markdownify在处理markdown文件时未对用户输入进行充分的HTML转义和过滤。攻击者可以在markdown文件中插入<script>标签或其他HTML/JS事件处理器(如<img src=x onerror=alert(1)>),这些内容会被Markdownify直接保存而不会被转义。当文件被渲染展示时,浏览器会将其作为可执行脚本执行。具体来说,Markdownify的解析器在处理特殊字符时存在缺陷,允许绕过常见的XSS防护机制。攻击者可以利用这一点注入任意JavaScript代码,这些代码会在文件被打开时自动执行,绕过同源策略限制。

攻击链分析

STEP 1
步骤1
攻击者创建包含恶意JavaScript代码的markdown文件
STEP 2
步骤2
通过上传功能将恶意文件提交到服务器
STEP 3
步骤3
服务器未进行适当过滤,将恶意代码持久化存储
STEP 4
步骤4
受害者访问或预览该markdown文件
STEP 5
步骤5
恶意JavaScript在受害者浏览器中执行,窃取敏感信息

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<script>alert(document.cookie)</script>

影响范围

Markdownify 1.2.0

防御指南

临时缓解措施
立即升级Markdownify至最新版本,或在读取markdown文件时实施严格的HTML转义处理

参考链接

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