CVE-2026-34955PraisonAI 在 4.5.97 版本之前存在严重安全漏洞。其 SubprocessSandbox 组件在所有模式下调用 subprocess.run() 时使用了 shell=True,并仅依赖字符串黑名单来拦截危险命令。由于黑名单未包含 sh 或 bash 等独立可执行文件,攻击者可轻易绕过限制,导致沙箱逃逸,进而执行任意命令,造成系统完全沦陷。
该漏洞的根本原因在于 PraisonAI 的 SubprocessSandbox 错误地实现了安全过滤机制。在处理用户输入时,系统直接调用了 Python 的 subprocess.run() 函数并启用了 shell=True 参数。虽然代码中通过字符串匹配的方式设置了命令黑名单,试图阻止危险操作,但该机制存在逻辑缺陷。黑名单未将常见的 Unix Shell 解释器(如 sh 或 bash)列为禁止项。因此,在 STRICT 模式下,攻击者只需构造形如 `sh -c '<malicious_command>'` 的 payload,即可绕过黑名单检测。由于 shell=True 的存在,subprocess 会启动 sh 来解析命令,进而执行攻击者指定的任意系统指令,导致沙箱隔离失效,引发本地权限提升或代码执行风险。