行业新闻

文末附操作实践 | Jenkins远程代码执行漏洞(CVE-2019-1003000)复现

文末附操作实践 | Jenkins远程代码执行漏洞(CVE-2019-1003000)复现

t-img 合天智汇

安全预警

2019年1月8日,Jenkins官方发布了一则ScriptSecurity and Pipeline插件远程代码执行漏洞的安全公告,漏洞CVE编号为:CVE-2019-1003000,官方定级为高危。

2019年2月15日,网上公布了该漏洞的利用方式,该漏洞允许具有“Overall/Read”权限的用户或能够控制SCM中的Jenkinsfile或者sandboxedPipeline共享库内容的用户绕过沙盒保护并在Jenkins主服务器上执行任意代码。

事件分析

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins的目的是持续、自动地构建/测试软件项目以及监控软件开放流程,快速问题定位及处理,提示开放效率。

ScriptSecurity and Pipeline插件是Jenkins的一个安全插件,可以集成到Jenkins各种功能插件中。它主要支持两个相关系统:脚本批准和Groovy沙盒。

漏洞产生原因:其成因是jenkins开源项目里的

src/main/java/org/jenkinsci/plugins/scriptsecurityndbox/groovy/GroovySandbox.java

的文件允许“具有Overall/Read权限”或者“能够控制SCM中的Jenkinsfile,或者sandboxedPipeline共享库内容权限”的攻击者使用可绕过沙盒保护的脚本在Jenkins的master服务器执行任意代码

漏洞复现

1. 环境搭建:要求有docker

步骤:

gitclonehttps://github.com/adamyordan/cve-2019-1003000-jenkins-rce-poc.git

cdcve-2019-1003000-jenkins-rce-poc

pipinstall -r requirements.txt

cdsample-vuln

./run.sh

image.png

2. 输入账号密码user1:user1

image.png

3.poc进行攻击pythonexploit.py --url http://localhost:8080 --job my-pipeline --usernameuser1 --password user1 --cmd "whoami"

image.pngimage.png

4.复现完成

修复建议

Jenkins官方已经针对该漏洞发布了修复CVE-2019-1003000的安全更新:

DeclarativePlugin 更新至1.3.4.1版本

https://plugins.jenkins.io/pipeline-model-definition

GroovyPlugin 更新至2.61.1版本

https://plugins.jenkins.io/workflow-cps

ScriptSecurity Plugin 更新至1.50版本

https://plugins.jenkins.io/script-security

漏洞补丁更新地址

https://jenkins.io/security/advisory/2019-01-08/#SECURITY-1266

实践操作

enkins远程代码执行利用实践,可免费操作体验,大家可以一起学习!

实验:Jenkins远程代码执行利用实践(合天网安实验室)

image.png


本文为合天原创,未经允许,严禁转载。

关闭