必威国际有限公司詹金斯安全咨询2020-02-12

此咨询宣布在以下Jenkins可交付成果中宣布漏洞:必威国际有限公司

描述

Sandbox旁路通过管道中的默认方法参数表达式:Groovy插件

安全-1710/CVE-2020-2109

管道中的沙盒保护:Groovy插件2.78和更早版本可以通过CPS转换方法中的默认参数表达式来规避。

这使得攻击者能够指定并运行沙盒管道,以便在Jenkins控制器JVM的上下文中执行任意代码。必威国际有限公司

这些表达式受管道中的沙箱保护:Groovy Plugin 2.79。

Sandbox Bypass脚本安全插件中的漏洞

安全-1713/CVE-2020-2110

脚本安全插件1.69和更早版本中的沙盒保护可以在脚本编译阶段通过应用AST转换注释(如@抓住导入或在其他批注中使用它们。这会影响脚本执行(通常从管道等其他插件调用)以及提供沙盒脚本验证的HTTP端点。

具有总体/读取权限的用户可以利用这一点来绕过沙箱保护,并在Jenkins控制器上执行任意代码。必威国际有限公司

此问题是由于对的修复不完整造成的安全-1266

脚本安全插件1.70不允许在导入上或在其他批注中使用所有已知的不安全AST转换。

Subversion插件中存储的XSS漏洞

安全-1725/CVE-2020-2111

Subversion插件2.13.0及更早版本不会转义项目存储库基本URL字段表单验证的错误消息。这导致存储的跨站点脚本漏洞,其能够指定这样的基网站的用户,例如能够配置多刺山管道的用户。

Subversion插件2.13.1转义错误消息的受影响部分。

Git参数插件中存在多个存储的XSS漏洞

SECURITY-1709/CVE-2020-2112(参数名称),CVE-2020-2113(默认值)

Git参数插件0.9.11及更早版本不能正确转义参数名或默认值。这导致存储的跨站点脚本漏洞可被具有作业/配置权限的用户利用。

Git参数插件0.9.12转义UI上显示的参数名称和默认值。

S3发行者插件以纯文本形式传输的凭证

安全-1684/CVE-2020-2114

S3Publisher插件在其全局配置中存储一个密钥。

当凭证被加密存储在磁盘上时,它将通过S3 publisher Plugin 0.11.4和更早版本以明文形式传输,作为配置表单的一部分。这可能导致通过浏览器扩展、跨站点脚本漏洞和类似情况暴露凭据。

S3 Publisher插件0.11.5在加密的全局配置中传输密钥。

NUnit插件中的XXE漏洞

安全-1752/CVE-2020-2115

NUnit插件0.25及更早版本未配置XML解析器以防止XML外部实体(XXE)攻击。

这允许用户能够为其后构建步骤控制输入文件,以使Jenkins解析制成的文件,该文件使用外部实体从Jenkins控制器,服务器端请求伪造或拒绝服务攻击中提取秘密。必威国际有限公司

NUnit插件0.26禁用其XML解析器的外部实体处理。

CSRF漏洞和缺少管道GitHub的权限检查通知步骤插件允许捕获凭据

安全-812(1)/CVE-2020-2116(CSRF),CVE-2020-2117(缺少许可检查)

管道GitHub通知步骤插件1.0.4及更早版本不会对实现表单验证的方法执行权限检查。这允许使用通过通过另一种方法获取的攻击者指定的凭据ID来连接到Jenkins的用户来连接到攻必威国际有限公司击者指定的URL,捕获存储在Jenkins中的凭据。

此外,表单验证方法不需要POST请求,从而导致CSRF漏洞。

此表单验证方法需要在管道GitHub Notify Step插件1.0.5中提供POST请求和Item/Configure权限。

具有全局/读取访问权限的用户可以在管道GitHub Notify Step插件中枚举凭据ID

安全-812(2)/CVE-2020-2118

Pipeline GitHub Notify Step Plugin 1.0.4及更早版本提供了适用凭证ID的列表,允许配置插件的用户选择要使用的凭证ID。

此功能无法正确检查权限,允许任何具有“总体/读取”权限的用户获取有效凭据ID列表。这些可作为攻击的一部分,使用另一个漏洞捕获凭据。

管道GitHub Notify Step Plugin 1.0.5中凭据ID的枚举需要配置项目的权限。

通过Azure AD插件在纯文本中传输的客户端密钥

安全-1717/CVE-2020-2119

Azure AD插件在其全局配置中存储客户端机密。

当凭证被加密存储在磁盘上时,Azure AD Plugin 1.1.2和更早版本会将其以明文形式传输,作为配置表单的一部分。这可能导致通过浏览器扩展、跨站点脚本漏洞和类似情况暴露凭据。

Azure AD Plugin 1.2.0在其全局加密配置中传输客户端机密。

FitNesse插件中的XXE漏洞

安全-1751/CVE-2020-2120

FitNesse Plugin 1.30及更早版本未配置XML解析器以防止XML外部实体(XXE)攻击。

这允许用户能够为其后构建步骤控制输入文件,以使Jenkins解析制成的文件,该文件使用外部实体从Jenkins控制器,服务器端请求伪造或拒绝服务攻击中提取秘密。必威国际有限公司

FitNesse插件1.31禁用其XML解析器的外部实体处理。

Google Kubernetes引擎插件中的RCE漏洞

Security-1731 / CVE-2020-2121

Google Kubernetes引擎插件0.8.0及更早版本不会配置其YAML解析器,以防止任意类型的实例化。这导致远程执行漏洞,可通过能够向Google Kubernetes引擎插件提供yaml输入文件来提供给Google Kubernetes引擎插件的构建步骤。

Google Kubernetes引擎插件0.8.1将其Yaml解析器配置为仅实例化安全类型。

brakeman插件中存储的XSS漏洞

安全-1644/CVE-2020-2122

Brakeman Plugin 0.12及更早版本在渲染时未从已解析的JSON文件中收到的值,从而产生存储的跨站点伪漏洞。

能够控制Brakeman构建后步骤输入数据的用户可以利用此漏洞进行攻击。

brakeman插件0.13在记录受影响的值时,从解析文件中转义受影响的值。

笔记
此修复仅在安装固定版本的插件后应用于新录制的数据;历史数据仍可能包含不安全的值。

Radargun插件中的RCE漏洞

安全-1733/CVE-2020-2123

RadarGun插件1.7及更早版本未配置其YAML解析器以防止任意类型的实例化。这导致远程代码执行漏洞可被能够配置RadarGun插件构建步骤的用户利用。

RadarGun插件1.8将其YAML解析器配置为仅实例化安全类型。

通过动态扩展选择参数插件以纯文本存储的密码

安全-1560/CVE-2020-2124

DynamicExtendedChoice参数插件1.0.1及更早版本在作业中存储未加密的Subversion密码config.xml.文件作为其配置的一部分。具有扩展读取权限或访问Jenkins controller文件系统的用户可以查看此凭据。必威国际有限公司

截至本公告发布之日,还没有解决方案。

Debian Package Builder插件以纯文本形式存储的凭据

Security-1558 / CVE-2020-2125

Debian Package Builder插件1.6.11及更早版本在其全局配置文件中存储了GPG密码短语ru.yandex.必威国际有限公司jenkins.plugins.debuilder.debianpackagebuilder.xml.在詹金斯控制器必威国际有限公司上。有权访问Jenkins controller文件系统的用户可以查看此凭据。

截至本公告发布之日,还没有解决方案。

DigitalOcean插件以纯文本形式存储的令牌

安全-1559/CVE-2020-2126

DigitalOcean Plugin 1.1及更早版本在全局数据库中存储未加密的令牌config.xml.文件作为其配置的一部分。有权访问Jenkins controller文件系统的用户可以查看此凭据。必威国际有限公司

截至本公告发布之日,还没有解决方案。

BMC发行包和部署插件以明文形式存储的凭证

安全-1547/CVE-2020-2127

BMC发布包和部署插件1.1及更早版本在其全局配置文件中存储未加密的RPD用户令牌com.bmc.rpd.必威国际有限公司jenkins.plugin.bmcrpd.configuration.RPDPluginConfiguration.xml在詹金斯控制器必威国际有限公司上。有权访问Jenkins controller文件系统的用户可以查看此凭据。

截至本公告发布之日,还没有解决方案。

ECX复制数据管理插件以明文形式存储的密码

Security-1549 / CVE-2020-2128

ECX Copy Data Management Plugin 1.9及更早版本在作业中存储未加密的服务密码config.xml.文件作为其配置的一部分。具有扩展读取权限或访问Jenkins controller文件系统的用户可以查看此凭据。必威国际有限公司

截至本公告发布之日,还没有解决方案。

Eagle Tester插件中的纯文本中存储的密码

Security-1552 / CVE-2020-2129

Eagle Tester插件1.0.9及更早版本将密码存储在其全局配置文件中未加密com.bmc.rpd.必威国际有限公司jenkins.plugin.bmcrpd.configuration.RPDPluginConfiguration.xml在詹金斯控制器必威国际有限公司上。有权访问Jenkins controller文件系统的用户可以查看此凭据。

截至本公告发布之日,还没有解决方案。

Harvest SCM插件以纯文本形式存储的密码

Security-1553 / CVE-2020-2130(全局配置),CVE-2020-2131(作业配置)

Harvest SCM插件0.5.1及更早版本在其全局配置文件中存储了未加密的SCM密码hudson.plugins.harvest.HarvestSCM.xml在工作中config.xml.jenkins控制器上的文必威国际有限公司件。用户可以通过扩展读取权限(作业)查看这些凭据(作业config.xml.仅)或访问Jenkins控制器文件系统(两者)必威国际有限公司。

截至本公告发布之日,还没有解决方案。

Parasoft环境管理器插件以明文形式存储的密码

Security-1562 / CVE-2020-2132

Parasoft环境管理器插件2.14及更早版本在工作中存储了未加密的存储库密码config.xml.文件作为其配置的一部分。具有扩展读取权限或访问Jenkins controller文件系统的用户可以查看此凭据。必威国际有限公司

截至本公告发布之日,还没有解决方案。

由Applatix插件以纯文本形式存储的密码

Security-1540 / CVE-2020-2133

Applatix插件1.1及更早版本将Applatix密码存储在作业中未加密config.xml.文件作为其配置的一部分。具有扩展读取权限或访问Jenkins controller文件系统的用户可以查看此凭据。必威国际有限公司

截至本公告发布之日,还没有解决方案。

严重程度

  • Security-812(1):
  • Security-812(2):中等
  • 安全理事会第1540号决议:中等
  • Security-1547:
  • 安全-1549:中等
  • 安全-1552:
  • 安全-1553:中等
  • 安全-1558:
  • Security-1559:
  • 安全-1560:中等
  • 安全-1562:中等
  • Security-1644:中等
  • 安全-1684:
  • Security-1709:中等
  • 安全-1710:
  • 安全-1713:
  • Security-1717:
  • 安全-1725:中等
  • 安全-1731:
  • 安全-1733:
  • Security-1751:
  • 安全-1752:

受影响的版本

  • Applatix插件最多,包括1.1
  • Azure广告插件达到并包括1.1.2
  • BMC发布包和部署插件最多,包括1.1
  • 制动器插件小于等于0.12
  • Debian软件包生成器插件不超过1.6.11,包括1.6.11
  • 数字海洋插件最多,包括1.1
  • 动态扩展选择参数插件不超过1.0.1,包括1.0.1
  • Eagle Tester插件不超过1.0.9,包括1.0.9
  • ECX拷贝数据管理插件最多,包括1.9
  • FitNesse插件最多包括1.30
  • Git参数插件小于等于0.9.11
  • 谷歌Kubernetes引擎插件最多,包括0.8.0
  • 收获SCM插件小于等于0.5.1
  • NUnit插件最多,包括0.25
  • Parasoft环境经理插件最多包括2.14
  • 管道GitHub通知步骤插件不超过1.0.4,包括1.0.4
  • 管道:Groovy插件不超过2.78(含2.78)
  • 雷达插件最多包括1.7
  • S3发布者插件小于等于0.11.4
  • 脚本安全插件小于等于1.69
  • Subversion插件最多,包括2.13.0

修理

  • Azure广告插件应更新至1.2.0版
  • 制动器插件应更新至0.13版
  • FitNesse插件应该更新到1.31版
  • Git参数插件应更新至0.9.12版
  • 谷歌Kubernetes引擎插件应更新至0.8.1版
  • NUnit插件应更新至0.26版
  • 管道GitHub通知步骤插件应该更新到1.0.5版
  • 管道:Groovy插件应更新至2.79版
  • 雷达插件应更新至1.8版
  • S3发布者插件应更新为0.11.5版
  • 脚本安全插件应更新至1.70版
  • Subversion插件应更新至2.13.1版

这些版本包括对上述漏洞的修复。除非另有说明,否则所有以前的版本都被视为受到这些漏洞的影响。

截至本公告发布之日,以下插件没有可用的修复程序:

  • Applatix插件
  • BMC发布包和部署插件
  • Debian软件包生成器插件
  • 数字海洋插件
  • 动态扩展选择参数插件
  • Eagle Tester插件
  • ECX拷贝数据管理插件
  • 收获SCM插件
  • Parasoft环境经理插件

信用

詹金斯项必威国际有限公司目感谢记者们的发现和帮助报告这些漏洞:

  • 阿迪思·苏达卡对于Security-1644
  • ISEC.pl研究团队的Daniel Kalinowski对于Security-1731,Security-1733
  • 费德里科·佩莱格林安全-1751,安全-1752
  • 詹姆斯·霍德内斯,IB Boost安全-1540、安全-1547、安全-1549、安全-1552、安全-1553、安全-1558、安全-1559、安全-1560、安全-1562
  • 约瑟夫彼得森@jetersen对于Security-1717
  • ERNW研究有限公司的Nils Emmerich对于安全-1710,安全-1713
  • 斯文·格罗斯曼(@svennergr)对于Security-1709
  • 托马斯·德格雷尼尔·德拉图尔对于Security-812(1),Security-812(2)
  • Wadeck Follonier,CloudBees公司。对于Security-1684,Security-1725