CVE-2026-34444Lupa 是一个将 Lua 或 LuaJIT2 运行时集成到 CPython 的开源库。在 2.6 及更早版本中,该组件存在严重的安全漏洞。具体而言,当通过内置函数如 getattr 和 setattr 访问属性时,attribute_filter(属性过滤器)未能被一致地应用。这一安全机制失效使得攻击者能够绕过预期的访问限制。由于该漏洞无需认证且无需用户交互即可通过网络利用,攻击者可借此突破沙箱限制,最终导致在宿主系统上执行任意代码,对系统的机密性、完整性和可用性造成极高风险。
该漏洞的根本原因在于 Lupa 在实现 Python 与 Lua 对象交互时的安全过滤逻辑存在缺陷。Lupa 提供了 `attribute_filter` 功能,旨在控制 Lua 代码可以访问哪些 Python 对象的属性,从而实现基本的沙箱隔离。然而,在受影响版本中,当 Lua 代码调用 Python 的内置函数 `getattr` 或 `setattr` 来操作对象属性时,并未触发 `attribute_filter` 检查。这意味着攻击者可以在 Lua 环境中构造恶意代码,利用 `getattr` 直接访问本应被过滤的敏感属性或方法(例如 `os.system` 或 `__import__`)。一旦获取到这些危险接口的引用,攻击者即可绕过 Python 层面的限制,利用 CPython 的环境执行任意系统命令,完全控制宿主机。