近日,一个名为Terrarium的Python沙箱项目被披露存在严重安全漏洞,攻击者可利用该漏洞实现任意代码执行。该漏洞被编号为CVE-2026-5752,在CVSS评分系统中获得了九点三的高分,属于高危级别
Terrarium是由Cohere AI开发的一个开源项目,本质上是一个Python沙箱环境,通过Docker容器部署,专门用于运行用户编写的不可信代码,或者由大语言模型辅助生成的代码。值得注意的是,Terrarium运行在Pyodide之上,后者是一个面向浏览器和Node.js的Python发行版,这使得Terrarium能够支持标准的Python包。截至目前,该项目已被分叉五十六次,获得三百一十二次收藏。
根据CERT协调中心的分析,该漏洞的根本原因与Pyodide的WebAssembly环境中的JavaScript原型链遍历有关。这种缺陷使得攻击者能够在宿主Node.js进程中以提升后的权限执行代码。成功利用该漏洞的攻击者可以突破沙箱的限制,在容器内部以root权限执行任意系统命令。不仅如此,攻击者还可以借此未经授权访问敏感文件,比如读取etc目录下的passwd文件,接触到容器网络上的其他服务,甚至有可能逃逸出容器本身,进一步提升权限。
需要注意的是,利用该漏洞需要攻击者对系统拥有本地访问权限,但不需要任何用户交互,也不需要特殊权限。安全研究员杰里米·布朗被发现并报告了该漏洞。由于该项目已不再积极维护,该漏洞很可能不会被修复。
针对这一情况,CERT协调中心给出了多项缓解建议。在可能的情况下,禁用允许用户向沙箱提交代码的功能。通过网络分段来限制攻击面,防止攻击者进行横向移动。部署Web应用防火墙来检测和阻断可疑流量,包括尝试利用该漏洞的行为。监控容器活动,留意任何异常或可疑的行为。仅限授权人员访问容器及其资源,使用安全的容器编排工具来管理和保护容器,并确保所有依赖项保持最新状态并打上补丁。
有安全厂商指出,该沙箱未能充分阻止对父对象或全局对象原型的访问,使得沙箱内的代码能够引用和操纵宿主环境中的对象。这种原型污染或遍历技术成功绕过了沙箱设计的安全边界。对于仍在部署Terrarium的用户来说,尽快采取上述缓解措施是当前最稳妥的选择。