首页 网络安全 正文
  • 本文约2509字,阅读需13分钟
  • 3
  • 0

DeepChat v0.3.0一键远程代码执行CVE-2025-55733

摘要

栋科技漏洞库关注到 DeepChat 的受影响版本(v0.3.0)存在的一键远程代码执行漏洞,漏洞追踪CVE-2025-55733,CVSS 3.x 评分9.6。

DeepChat是一款跨平台的桌面级AI助手客户端,专为高效工作、隐私保护与多模型接入而设计,将强大的AI技术连接到您的个人世界中。

一、基本情况

DeepChat是一款免费开源的桌面端AI助手,用户轻松对接各大主流大语言模型(如 OpenAI、Gemini、Ollama、月之暗面等)无缝连接。

DeepChat v0.3.0一键远程代码执行CVE-2025-55733

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

六、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接