DeepChat 的XSS导致RCE漏洞CVE-2025-58768
DeepChat是使用人工智能的智能助理,内置DeepSeek、硅基流动、PPIO等主流ai模型和服务商,有统一对话界面,支持本地模型部署。
DeepChat是一款完全免费的桌面端智能助手,可以无缝切换不同模型,支持多轮对话、联网搜索、文件上传、知识库等一系列多种功能。
一、基本情况
DeepChat顾名是“深度聊天”,它可不是普通的聊天工具,而是一个支持多种大语言模型(LLM)、多平台、开源、功能爆炸的AI聊天平台。
DeepChat支持实时联网搜索、文档处理、多模型适配及本地部署,为个人和团队提供智能化解决方案,保障数据安全,提升生产力体验。
栋科技漏洞库关注到DeepChat在0.3.5之前版本其Mermaid图表渲染组件存在风险操作,漏洞追踪为CVE-2025-58768,CVSS3.X评分9.6。
二、漏洞分析
CVE-2025-58768是位于DeepChat的0.3.5之前版本中的漏洞,在Mermaid图表渲染组件中,直接使用innerHTML设置用户内容存在风险。
具体来说,在版本0.3.5之前,其Mermaid图表渲染组件存在风险操作,即直接使用`innerHTML`来设置用户内容,该设置导致了漏洞存在。
因此,通过Mermaid渲染的任何恶意内容将直接触发漏洞利用链,导致命令执行,漏洞主要是由于项目中现有XSS问题未能得到全面解决。
因此引发另一条漏洞利用链,其利用链与报告GHSA-hqr4-4gfc-5p2j一致,通过XSS执行任意JavaScript代码,通过暴露IPC执行任意命令。
在Mermaid图表渲染组件中,直接使用innerHTML设置用户内容存在风险,漏洞代码如下:
src/renderer/src/components/artifacts/MermaidArtifact.vue
mermaidRef.value.innerHTML = props.block.content
if (mermaidRef.value) {
mermaidRef.value.innerHTML = `<div class="text-destructive p-4">渲染失败: ${error instanceof Error ? error.message : '未知错误'}</div>`
}
因此,通过Mermaid呈现的任何恶意内容都会直接触发漏洞利用链,导致命令执行。
在下面的示例中,它是通过Click触发的,实际上允许直接执行。
三、POC概念验证

1、通过命令注入或其他方法,当LLM生成包含恶意内容的Mermaid图表时,单击“单击我”可以触发RCE内容以弹出计算器。
2、当然,也可以修改这个概念证明,通过渲染直接触发漏洞,而不需要点击处理。一个简单的验证码如下:

3、生成图表时直接触发,每次点击mermaid内容时也会触发。
四、影响范围
DeepChat <= 0.3.4
五、修复建议
DeepChat >= 0.3.4
六、参考链接
