CVE-2025-66580Dive是一款开源的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服务器可以发送执行任意系统命令的请求,从而实现远程代码执行。攻击者可以利用此漏洞窃取敏感信息、安装恶意软件或建立持久化后门。