# Dive MCP 深链接远程代码执行漏洞
## 概述
Dive 是一款开源的 MCP Host 桌面应用,支持与函数调用型大语言模型(LLM)集成。在版本 0.13.0 之前,存在一个深度链接(deeplink)漏洞,攻击者可通过构造恶意链接在未经充分用户确认的情况下安装受控的 MCP 服务器配置,进而导致本地命令任意执行。
## 影响版本
- 0.13.0 之前的版本
## 细节
攻击者可构造恶意深度链接,诱导用户点击。该链接可触发 Dive 应用加载并安装攻击者控制的 MCP 服务器配置。由于缺少充分的用户确认机制,配置安装过程可静默完成,从而为后续的命令执行创造条件。
## 影响
成功利用该漏洞可在用户本地系统上执行任意命令,造成系统被完全控制,导致敏感信息泄露、恶意软件植入等严重后果。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: One-click Remote Code Execution through Deep Links for MCP Install · Advisory · OpenAgentPlatform/Dive · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
- **Vulnerability**: One-click Remote Code Execution Through Deep Links for MCP Install
- **Package**: Dive
- **Affected Versions**: <= 0.12.6
- **Patched Versions**: 0.13.0
- **Summary**:
- A crafted deeplink can install an attacker-controlled MCP server configuration without user confirmation.
- Leads to arbitrary local command execution on the victim's machine.
- **Details**:
- Deeplink handler installs an MCP server without user confirmation in certain scenarios.
- Vulnerability fixed through commit `aca6d4` by requiring frontend confirmation.
- Confirmation prompt only appears when `transport` is `"stdio"`.
- Backend allows multiple transport modes (`stdio`, `sse`, `websocket`, `streamable`).
- RCE occurs when `command` is executed in non-stdio transports.
- **PoC**:
- Crafting a malicious deeplink triggers remote code execution.
- **Impact**:
- Remote code execution on victim's machine with latest Dive (<= 0.12.6) installed.
- **Severity**:
- Critical, with CVSS v3 base metric of 9.7/10.
- Severity metrics include `attack vector`, `attack complexity`, `privileges required`, `user interaction`, `scope`, `confidentiality`, `integrity`, and `availability`.
标题: feat: show the confirm popup when the fields of mcp server contain co… · OpenAgentPlatform/Dive@a5162ac · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
以下是摘自网页截图中关于漏洞的关键信息,使用Markdown格式呈现:
### 关键信息
- **提交ID**: `a5162ac`
- **提交者**: ckaznable,在5天前提交
- **提交描述**: 添加功能,当MCP服务器的字段包含命令或参数时显示确认弹窗
- **文件变更**: `src/App.tsx`文件,1行代码被修改
- **变更内容**:
- **原代码**:
```typescript[]
if (_config.transport === "stdio") {
```
- **新代码**:
```typescript[]
if (_config.transport === "stdio" || _config.command || "args" in _config) {
```
### 关键点
- 修改后的代码引入了对 `_config.command` 或 `_config` 中包含 "args" 键的情况进行检查,这可能是对命令注入或参数不当使用的潜在安全强化措施。
暂无评论