CVE-2023-53940CVE-2023-53940是存在于Codigo Markdown Editor 1.0.1版本中的高危代码执行漏洞。该漏洞允许攻击者通过构造恶意的Markdown文件,在受害者打开该文件时执行任意系统命令。Codigo Markdown Editor是一款基于Electron框架开发的Markdown编辑器,由于其渲染进程与Node.js环境存在不安全的集成,攻击者可以利用Electron的特性和Markdown解析器的处理逻辑,在Markdown文件中嵌入带有onerror事件的HTML标签。当编辑器解析该文件时,会触发JavaScript代码执行,进而通过Node.js的child_process模块调用系统命令。攻击者可以利用此漏洞在受害者的系统上执行任意shell命令,可能导致数据泄露、系统完全沦陷等严重后果。由于该漏洞利用需要用户交互(打开恶意文件),因此攻击场景主要依赖于社会工程学手段诱骗用户打开特制的Markdown文件。
该漏洞的根本原因在于Codigo Markdown Editor(基于Electron框架)的渲染进程与Node.js环境之间存在不安全的集成。攻击者利用Electron应用的上下文桥接特性,在Markdown文件中嵌入恶意的HTML内容。当编辑器渲染包含特殊构造的视频标签(<video>)时,onerror事件处理器会被触发,该处理器通过Node.js的child_process模块执行系统命令。具体来说,攻击者在Markdown中插入类似<img src=x onerror=require('child_process').exec('恶意命令')>的代码片段。由于Codigo Markdown Editor在解析Markdown时未对嵌入的HTML进行充分的 sanitization,导致恶意JavaScript代码能够在Node.js上下文中执行,从而实现任意代码执行。攻击者可以利用此漏洞执行任何系统命令,包括但不限于文件操作、网络通信、权限提升等。漏洞的利用条件包括:攻击者需要制作一个包含恶意代码的Markdown文件,并诱使受害者在Codigo Markdown Editor中打开该文件。