Jenkins Plugins 多个安全漏洞风险通告
发布时间 2020-02-14漏洞编号和级别
CVE编号:CVE-2020-2116,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2020-2117,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2020-2109,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2020-2110,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2020-2121,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2020-2123,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2020-2120,危险级别:高危,CVSS分值:官方未评定
CVE编号:CVE-2020-2115,危险级别:高危,CVSS分值:官方未评定
影响版本
Applatix Plugin <= 1.1,Azure AD Plugin <= 1.1.2,BMC Release Package and Deployment Plugin <= 1.1,Brakeman Plugin <= 0.12,Debian Package Builder Plugin <= 1.6.11,DigitalOcean Plugin <= 1.1,Dynamic Extended Choice Parameter Plugin <= 1.0.1,Eagle Tester Plugin <= 1.0.9,ECX Copy Data Management Plugin <= 1.9,FitNesse Plugin <= 1.30,Git Parameter Plugin <= 0.9.11,Google Kubernetes Engine Plugin <= 0.8.0,Harvest SCM Plugin <= 0.5.1,NUnit Plugin <= 0.25,Parasoft Environment Manager Plugin <= 2.14,Pipeline GitHub Notify Step Plugin <= 1.0.4,Pipeline: Groovy Plugin <= 2.78,RadarGun Plugin <= 1.7,S3 publisher Plugin <= 0.11.4,Script Security Plugin <= 1.69,Subversion Plugin <= 2.13.0
漏洞概述
CloudBees Jenkins(Hudson Labs)是美国CloudBees公司的一套基于Java开发的持续集成工具。该产品主要用于监控持续的软件版本发布/测试项目和一些定时执行的任务。
近日,Jenkins发布官方安全通告,Jenkins部分插件存在多个漏洞,涉及到如下安全问题:沙箱绕过,XSS漏洞,纯文本格式传输,XXE,CSRF,缺少权限检查,枚举凭据ID,RCE,XSS,纯文本格式存储密码,其中高危漏洞概述如下:
Pipeline GitHub Notify Step插件中的CSRF漏洞和缺少权限检查允许捕获凭据,CVE-2020-2116 (CSRF)/CVE-2020-2117(缺少权限检查)
Pipeline GitHub Notify Step Plugin 1.0.4和更早版本不对实现表单验证的方法执行权限检查。这允许对Jenkins具有全面/读取访问权限的用户使用通过另一种方法获得的攻击者指定的凭据id连接到攻击者指定的URL,从而捕获Jenkins中存储的凭据。
此外,表单验证方法不需要POST请求,从而导致CSRF漏洞。
通过管道中的默认方法参数表达式绕过沙盒:Groovy插件,CVE-2020-2109
管道中的沙盒保护:Groovy插件2.78及更早版本可以通过CPS转换方法中的默认参数表达式来规避。这使得攻击者能够指定并运行沙盒管道,以便在Jenkins主JVM的上下文中执行任意代码。
Script Security插件中的沙盒绕过漏洞,CVE-2020-2110
Script Security插件1.69及更早版本中的沙盒保护可以在脚本编译阶段通过将AST转换注释(如@Grab)应用于导入或在其他注释中使用它们来规避。这会影响脚本执行(通常从其他插件(如管道)调用)以及提供沙盒脚本验证的HTTP端点。
具有全局/读取权限的用户可以利用此漏洞绕过沙盒保护,并在Jenkins主机上执行任意代码。
Google Kubernetes Engine插件中的RCE漏洞,CVE-2020-2121
Google Kubernetes Engine插件0.8.0和更早版本没有配置其YAML解析器来防止任意类型的实例化。这导致一个远程代码执行漏洞,用户可以利用该漏洞向Google Kubernetes Engine插件的构建步骤提供YAML输入文件。
RadarGun插件中的RCE漏洞,CVE-2020-2123
RadarGun插件1.7及更早版本没有配置其YAML解析器以防止任意类型的实例化。这会导致远程代码执行漏洞被能够配置RadarGun插件的生成步骤的用户利用。
FitNesse插件中的XXE漏洞,CVE-2020-2120
FitNesse插件1.30及更早版本没有配置XML解析器以防止XML外部实体(XXE)攻击。
这允许用户控制其后期生成步骤的输入文件,让Jenkins解析一个精心编制的文件,该文件使用外部实体从Jenkins主机提取机密、服务器端请求伪造或拒绝服务攻击。
NUnit插件中的XXE漏洞,CVE-2020-2115
NUnit插件0.25及更早版本没有配置XML解析器以防止XML外部实体(XXE)攻击。
这允许用户控制其后期生成步骤的输入文件,让Jenkins解析一个精心编制的文件,该文件使用外部实体从Jenkins主机提取机密、服务器端请求伪造或拒绝服务攻击。
漏洞验证
暂无POC/EXP。
修复建议
目前部分插件已更新,获取链接:https://jenkins.io/security/advisory/2020-02-12/。请及时更新插件到如下版本:
Azure AD Plugin 更新至 1.2.0
Brakeman Plugin 更新至 0.13
FitNesse Plugin 更新至 1.31
Git Parameter Plugin 更新至 0.9.12
Google Kubernetes Engine Plugin 更新至 0.8.1
NUnit Plugin 更新至 0.26
Pipeline GitHub Notify Step Plugin 更新至 1.0.5
Pipeline: Groovy Plugin 更新至 2.79
RadarGun Plugin 更新至 1.8
S3 publisher Plugin 更新至 0.11.5
Script Security Plugin 更新至 1.70
Subversion Plugin 更新至 2.13.1
以下插件暂未修复:
Applatix Plugin
BMC Release Package and Deployment Plugin
Debian Package Builder Plugin
DigitalOcean Plugin
Dynamic Extended Choice Parameter Plugin
Eagle Tester Plugin
ECX Copy Data Management Plugin
Harvest SCM Plugin
Parasoft Environment Manager Plugin
参考链接
https://jenkins.io/security/advisory/2020-02-12/


京公网安备11010802024551号