Jenkins
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins功能包括:
- 持续的软件版本发布/测试项目。
- 监控外部调用执行的工作。
Jenkins曾经发生的反序列化漏洞:
- CVE-2015-8103
- CVE-2016-9299
- CVE-2017-1000353
- CVE-2018-1000861
Jenkins远程命令执行漏洞(CVE-2018-1000861)
Jenkins使用Stapler框架开发,其允许用户通过URL PATH来调用一次public方法。由于这个过程没有做限制,攻击者可以构造一些特殊的PATH来执行一些敏感的Java方法。
通过这个漏洞,我们可以找到很多可供利用的利用链。其中最严重的就是绕过Groovy沙盒导致未授权用户可执行任意命令:Jenkins在沙盒中执行Groovy前会先检查脚本是否有错误,检查操作是没有沙盒的,攻击者可以通过Meta-Programming的方式,在检查这个步骤时执行任意命令。
Jenkins-CI 远程代码执行漏洞(CVE-2017-1000353)
漏洞描述:该漏洞存在于使用HTTP协议的双向通信通道的具体实现代码中,jenkins利用此通道来接收命令,恶意攻击者可以构造恶意攻击参数远程执行命令,从而获取系统权限。
漏洞影响版本