开源的Judge0 中存在多个沙箱逃逸漏洞,可导致系统遭完全接管
2024-4-30 12:9:22 Author: mp.weixin.qq.com(查看原文) 阅读量:2 收藏

 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

开源的在线代码执行系统中存在三个严重漏洞,可用于在目标系统上执行代码。

澳大利亚网络安全公司 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://codesafe.qianxin.com
开源卫士试用地址:https://oss.qianxin.com

推荐阅读

OWASP 发布十大开源软件风险清单(详解版)

开源AI框架 Ray 的0day已用于攻陷服务器和劫持资源

CISA:注意 Chrome 和 Excel 解析库中已遭利用的开源漏洞

速修复!开源通信框架 FreeSWITCH 受严重漏洞影响

速修复!开源防火墙软件pfSense 中存在多个漏洞

原文链接

https://thehackernews.com/2024/04/sandbox-escape-vulnerabilities-in.html

题图:Pixabay License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

    觉得不错,就点个 “在看” 或 "” 吧~


文章来源: https://mp.weixin.qq.com/s?__biz=MzI2NTg4OTc5Nw==&mid=2247519400&idx=2&sn=e79b7a5da52b70449d7f2d6c99c8cab2&chksm=ea94bdc2dde334d48c4fc1fc698133c71550c937353091502e020643ff271de8656b39d98e84&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh