聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
澳大利亚网络安全公司 Tanto 在报告中提到,这三个漏洞都属于严重级别,可导致“具有充分访问权限的对手执行沙箱逃逸并获得主机机器的 root 权限。”
Judge0维护人员表示,该项目是“健壮、可扩展和开源的在线代码执行系统”,可用于构建需要在线代码执行特性的应用程序如候选评估、在线学习和在线代码编辑器和IDE。
Judge0网站提到,它服务23个客户如 AIgoDaily、CodeChum和PYnative等。迄今为止该项目在GitHub上已被fork 412次。
这些漏洞由 Daniel Cooper 在2024年3月发现和报告,如下:
CVE-2024-28185(CVSS评分10):该应用程序并不负责位于沙箱目录中的符号链接,它可被用于写入任意文件并在沙箱外获得代码执行权限。
CVE-2024-28189(CVSS评分10):对CVE-2024-28185的补丁绕过,攻击者可创建沙箱外文件的符号链接,在沙箱外的任意文件上运行 chown。
CVE-2024-29021(CVSS评分9.1):Judge0的默认配置可导致服务易受经由SSRF的沙箱逃逸,从而使对Judge0 API 具有充分访问权限的攻击者以目标机器上的root身份获得非沙箱的代码执行权限。
该问题的根因在于名为 “isolate_job.rb”的Ruby脚本,它负责设立沙箱、运行代码并存储执行结果。具体而言,它在设立 bash 脚本执行基于提交语言的程序之前,创建符号链接,以便在未沙箱的系统上写入任意文件。攻击者可利用该漏洞在系统上覆写脚本,在沙箱外以及运行提交任务的 Docker 容器上获得代码执行权限。另外,攻击者可提升 Docker 容器外的权限,“导致攻击者增加Linux主机文件系统,写文件获得系统访问权限。攻击者将获得对 Judge0 系统包括数据库、内部网络、Judge0 web 服务器以及在 Linux 主机上运行的任何其它应用上的完整访问权限。”
CVE-2024-29021与允许和Docker内网中可用的 PostgreSQL 数据库通信的配置有关,可使对手武器化该SSRF连接到数据库并修改相关栏的数据类型,最终获得命令执行权限。
Judge0收到负责任的漏洞报告后,在2024年4月8日发布版本1.13.1修复了这些潜在威胁。
https://thehackernews.com/2024/04/sandbox-escape-vulnerabilities-in.html
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~