2019年9月12日,Jenkins发布的官方安全公告中披露了一个Jenkins Script Security插件沙箱绕过漏洞。CVE编号涉及CVE-2019-10393, CVE-2019-10394, CVE-2019-10399, CVE-2019-10400,漏洞定级为 High,属于高危漏洞。 攻击者通过使用Error方法抛出异常的方式构造恶意脚本,绕过沙箱对危险函数的检测,实现远程命令执行。
漏洞名称: Jenkins Script Security插件沙箱绕过漏洞
威胁等级 : 高危
影响范围 : Jenkins Script Security <= 1.62
漏洞类型 : 命令执行
利用难度 : 容易
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins的目的是持续、自动地构建/测试软件项目以及监控软件开发流程,快速定位及处理问题,提高开发效率。
该漏洞存在于 J enkins Script Security插件中。通常情况下Groovy Sandbox会对Java中可以执行系统命令等危险方法进行检测拦截并抛出异常,但是攻击者可以通过使用throw Error抛出异常的方式绕过sandbox的检测,执行系统命令,并在服务器抛出的异常中回显命令执行的结果,实现在 J enkins服务器上执行任意命令。
搭建 J enkins服务器,并加载Script Security 1.62版本插件。
创建流水线项目,并在pipeline模块下插入构造好的恶意pipeline脚本,保存项目并构建项目,此时会看到构建好的项目列表。
进入插入恶意脚本的项目,并输出结果。
在输出的结果中可以看到已经用运行 J enkins服务的权限成功执行系统命令。
目前据统计,在全球范围内对互联网开放Jenkins服务器的资产数量多达 18万台 ,其中归属中国地区的受影响资产数量为 5万以上 。
目前受影响的是 所有安装 Script Security <= 1.62插件的Jenkins服务器 。
更新最新版本的Script Security插件,方式如下:
登录 J enkins首页,访问插件管理,找到Script Security插件,更新最新版本即可。
https://jenkins.io/security/advisory/2019-09-12/
2019/09/12
Jenkins官方发布安全公告
2019/09/25
深信服千里目实验室复现漏洞并发布漏洞预警