CVE-2026-5972FoundationAgents MetaGPT 0.8.1及之前版本存在操作系统命令注入漏洞。该漏洞源于metagpt/tools/libs/terminal.py库中的Terminal.run_command函数未能正确过滤用户输入。攻击者无需身份认证且无需用户交互,即可通过网络远程利用此漏洞。由于漏洞利用代码已被公开披露,攻击者可以构造恶意命令,导致在目标服务器上执行任意系统命令,进而获取敏感信息、篡改数据或破坏服务可用性,风险极高。
该漏洞位于MetaGPT项目的metagpt/tools/libs/terminal.py文件中,具体涉及Terminal.run_command方法。该方法在处理命令执行请求时,未对传入的参数进行严格的输入验证或转义处理。当外部不可信的数据被直接传递给该函数并拼接到系统shell命令中时,攻击者可以通过注入特殊的shell元字符(如;、|、&或反引号等)来改变原有命令的逻辑结构。由于CVSS向量显示攻击无需认证(PR:N)且可远程利用(AV:N),攻击者可以通过发送特制的网络请求触发该漏洞。成功利用后,攻击者将获得在运行MetaGPT的宿主操作系统上下文中执行任意命令的权限。这不仅允许攻击者读取服务器上的敏感文件,还可以修改或删除关键数据,甚至导致服务瘫痪。修复补丁d04ffc8d表明官方已针对此问题进行了代码更新。