CVE-2026-45227Heym 0.0.21之前的版本在自定义Python工具执行器中存在沙箱逃逸漏洞。该漏洞允许经过身份验证的工作流作者利用对象图内省原语绕过沙箱限制。攻击者可以使用Python内省技术恢复不受限制的__import__函数,进而导入被阻止的模块(如os和subprocess)。此外,攻击者还能访问继承的后端环境变量,获取数据库凭证和加密密钥。最终,攻击者能够以后端服务用户的身份在主机上执行任意命令。
该漏洞的根本原因在于Heym未能正确限制Python代码的对象图内省能力。在Python沙箱环境中,通常需要禁用`__import__`等危险内置函数。然而,攻击者可以通过访问对象的`__class__`、`__bases__`和`__subclasses__`等属性遍历Python运行时的对象图。通过分析这些子类,攻击者可以寻找到包含原始`__import__`函数或已加载的危险模块(如os)的引用。一旦恢复`__import__`,攻击者即可突破模块导入限制,加载`subprocess`模块执行系统命令。同时,由于后端环境变量被继承,攻击者可以通过`os.environ`读取敏感配置信息,实现完全接管服务器权限。