CVE-2025-66222DeepChat是一款基于人工智能的智能助手应用。在0.5.0及之前版本中,存在一处严重的存储型跨站脚本(Stored XSS)漏洞,漏洞位于Mermaid图表渲染器模块。攻击者可以通过构造恶意的Mermaid图表代码,将JavaScript恶意脚本存储在应用程序中。当其他用户查看包含恶意内容的聊天记录或对话时,恶意脚本将在受害者浏览器上下文中执行。由于DeepChat基于Electron框架构建,暴露了IPC(进程间通信)桥接接口,攻击者可以进一步利用这个XSS漏洞,通过注册并启动恶意的MCP(Model Context Protocol)服务器,将攻击权限从浏览器沙箱提升至操作系统层面,最终实现远程代码执行(RCE)。该漏洞无需认证即可利用,但需要用户交互(诱骗用户查看恶意内容),CVSS评分高达9.6,属于严重级别。攻击成功后,攻击者可以在受害者主机上执行任意命令,完全控制受害者的计算机系统。
漏洞的技术原理涉及多个攻击阶段的组合利用:
1. XSS注入点:DeepChat的Mermaid图表渲染功能未对用户输入进行充分的HTML转义和内容安全策略(CSP)限制。攻击者可以在图表定义中注入<script>标签或使用Mermaid的特殊语法构造恶意内容。
2. 存储型特性:恶意代码被存储在聊天记录或会话数据中,当其他用户加载相关对话时自动执行,实现持久化攻击。
3. Electron IPC桥接利用:DeepChat作为Electron应用,暴露了ipcRenderer和ipcMain通信通道。恶意JavaScript代码可以通过window.electron API调用IPC方法,与主进程通信。
4. MCP服务器注册:攻击者利用XSS执行JavaScript,通过IPC调用注册一个恶意的MCP服务器。MCP是Model Context Protocol的缩写,用于AI助手与外部工具的集成。
5. 权限提升:一旦恶意的MCP服务器被注册并启动,攻击者可以借助该服务器的权限执行系统命令,从而实现远程代码执行。
漏洞利用的关键在于Mermaid渲染器缺乏输入验证,以及Electron应用的IPC接口缺乏安全检查和权限控制机制。