Jenkins漏洞利用实战:CVE-2019-1003000
在Orange Tsai发布Jenkins漏洞利用后,我对相关漏洞进行了深入研究。虽然预认证RCE是大家最关注的,但本文重点分析的是CVE-2019-1003000这个后认证漏洞。
漏洞背景
该漏洞影响以下插件版本:
- Pipeline: Declarative Plugin < 1.3.4.1
- Pipeline: Groovy Plugin < 2.61.1
- Script Security Plugin < 1.50
关键点在于,攻击者只需要具备以下权限即可利用:
- Overall/Read权限
- Job/Configure权限
- 不需要Script Console权限
漏洞复现
- 环境确认:
|
|
- 使用公开PoC:
|
|
- 获取反向Shell:
|
|
技术原理
漏洞利用的是Groovy沙箱绕过技术:
- 攻击者通过修改构建脚本注入恶意代码
- 利用Jenkins管道特性绕过沙箱限制
- 最终在Jenkins master节点上执行任意系统命令
防御建议
-
立即升级以下插件:
- Script Security Plugin ≥ 1.50
- Pipeline: Groovy Plugin ≥ 2.61.1
- Pipeline: Declarative Plugin ≥ 1.3.4.1
-
遵循最小权限原则,严格控制Job/Configure权限
-
监控异常构建任务和系统命令执行