CVE-2021-47838CVE-2021-47838是Markright 1.0版本中发现的一个高危安全漏洞,类型为持久型跨站脚本攻击(Persistent Cross-Site Scripting)。Markright是一款流行的Markdown编辑器,允许用户编辑和预览Markdown文档。该漏洞允许攻击者通过在Markdown文件中嵌入恶意JavaScript代码,当受害者打开这些特制的文件时,恶意代码会在受害者的浏览器上下文中执行。由于该漏洞是持久型的,恶意payload会保存在文件中,每次打开文件都会触发攻击,成功利用此漏洞可能导致窃取用户会话Cookie、劫持用户账号、进行钓鱼攻击,甚至在某些场景下可能实现远程代码执行(RCE)。该漏洞的CVSS评分为7.2,属于高危级别,攻击向量为网络,无需认证和用户交互即可利用,对机密性和完整性有一定影响。
Markright 1.0在处理Markdown文件时存在输入验证不足的问题。攻击者可以构造包含恶意JavaScript代码的Markdown文件,当Markright打开并渲染该文件时,应用程序未能正确对用户输入进行HTML转义或内容安全策略(CSP)过滤。具体来说,攻击者可以在Markdown文档中插入<script>标签、事件处理器(如onerror、onload)或JavaScript URI协议(如javascript:),这些payload会在文件预览或打开时被执行。由于Markdown预览功能通常使用WebView或嵌入式浏览器引擎来渲染内容,这使得JavaScript代码可以在与主应用相同的上下文中运行。攻击者只需诱使受害者打开一个看似正常的.md文件,即可触发XSS攻击。此漏洞的危险性在于其持久性——恶意代码随文件存储,无需服务器端交互,且利用门槛低,无需特殊权限或复杂攻击链。