事件经过
路径遍历漏洞(CWE-22,CVSS 7.5 v3.1 / 7.7 v4.0)允许已认证用户通过 os_env 控制子代理的 cwd,从而逃逸 Omnigent 代理工作区。bundles.py 中仅针对根目录的工作区逃逸检查未应用于嵌套子代理 cwd 值,因此攻击者可以将代理的读/写操作移动到预期目录之外的主机文件上。
影响分析
Omnigent 是一个代理编排平台,其捆绑包以运行用户权限运行;此沙箱逃逸将低权限认证用户转变为宿主机上的代码执行(读/写)能力,破坏了用于隔离不受信任代理捆绑包的机制。
攻击途径
已认证用户上传一个捆绑包,其中嵌套子代理将 os_env.cwd 设置为绝对路径或包含父目录遍历的路径,绕过 omnigent/server/bundles.py 中仅针对根目录的验证;随后代理以运行用户身份读取/写入预期工作区之外的主机文件。
受影响系统
omnigent (PyPI) 0.3.0 至 <0.14.0
缓解措施
升级到 0.14.0(修复提交 4a406d5b3b3f3a7c3401eab659ab04e728923b94);公告 GHSA-p5x3-3gqh-x44g。