
该漏洞源于 js2py 中不完善的沙箱机制,精心构造的 JavaScript 能够遍历 Python 的内部对象模型并访问危险的类(如 subprocess.Popen),从而导致任意命令执行。
此漏洞源于 js2py 中不完整的沙箱隔离,精心构造的 JavaScript 可以遍历 Python 的内部对象模型,并访问危险的类(如 subprocess.Popen),从而导致任意命令执行。
本仓库包含一个概念验证(PoC)载荷,演示了通过 js2py.disable_pyimport() 实现的沙箱逃逸——这是 js2py 0.74 及之前版本中的一个漏洞。
当应用程序不安全地评估或解析用户提供的 JSON/JavaScript 时,攻击者可以利用此漏洞突破 JavaScript 沙箱,深入 Python 内部,找到 subprocess.Popen,并执行任意命令。
js2py 安全解析 JavaScript 的 Python 环境。js2py.disable_pyimport() 中不完整的沙箱隔离,使得攻击者能够通过全局对象访问绕过预期的导入限制。__class__、__base__ 和 __subclasses__() 以定位 subprocess.Popen。disable_pyimport() 沙箱逃逸导致的 RCE https://github.com/advisories/GHSA-h95x-26f3-88hr