此咨询宣布在以下Jenkins可交付成果中宣布漏洞:必威国际有限公司
管道中的沙盒保护:Groovy插件2.78和更早版本可以通过CPS转换方法中的默认参数表达式来规避。
这使得攻击者能够指定并运行沙盒管道,以便在Jenkins控制器JVM的上下文中执行任意代码。必威国际有限公司
这些表达式受管道中的沙箱保护:Groovy Plugin 2.79。
脚本安全插件1.69和更早版本中的沙盒保护可以在脚本编译阶段通过应用AST转换注释(如@抓住
导入或在其他批注中使用它们。这会影响脚本执行(通常从管道等其他插件调用)以及提供沙盒脚本验证的HTTP端点。
具有总体/读取权限的用户可以利用这一点来绕过沙箱保护,并在Jenkins控制器上执行任意代码。必威国际有限公司
此问题是由于对的修复不完整造成的安全-1266。
脚本安全插件1.70不允许在导入上或在其他批注中使用所有已知的不安全AST转换。
Subversion插件2.13.0及更早版本不会转义项目存储库基本URL字段表单验证的错误消息。这导致存储的跨站点脚本漏洞,其能够指定这样的基网站的用户,例如能够配置多刺山管道的用户。
Subversion插件2.13.1转义错误消息的受影响部分。
Git参数插件0.9.11及更早版本不能正确转义参数名或默认值。这导致存储的跨站点脚本漏洞可被具有作业/配置权限的用户利用。
Git参数插件0.9.12转义UI上显示的参数名称和默认值。
S3Publisher插件在其全局配置中存储一个密钥。
当凭证被加密存储在磁盘上时,它将通过S3 publisher Plugin 0.11.4和更早版本以明文形式传输,作为配置表单的一部分。这可能导致通过浏览器扩展、跨站点脚本漏洞和类似情况暴露凭据。
S3 Publisher插件0.11.5在加密的全局配置中传输密钥。
NUnit插件0.25及更早版本未配置XML解析器以防止XML外部实体(XXE)攻击。
这允许用户能够为其后构建步骤控制输入文件,以使Jenkins解析制成的文件,该文件使用外部实体从Jenkins控制器,服务器端请求伪造或拒绝服务攻击中提取秘密。必威国际有限公司
NUnit插件0.26禁用其XML解析器的外部实体处理。
管道GitHub通知步骤插件1.0.4及更早版本不会对实现表单验证的方法执行权限检查。这允许使用通过通过另一种方法获取的攻击者指定的凭据ID来连接到Jenkins的用户来连接到攻必威国际有限公司击者指定的URL,捕获存储在Jenkins中的凭据。
此外,表单验证方法不需要POST请求,从而导致CSRF漏洞。
此表单验证方法需要在管道GitHub Notify Step插件1.0.5中提供POST请求和Item/Configure权限。
Pipeline GitHub Notify Step Plugin 1.0.4及更早版本提供了适用凭证ID的列表,允许配置插件的用户选择要使用的凭证ID。
此功能无法正确检查权限,允许任何具有“总体/读取”权限的用户获取有效凭据ID列表。这些可作为攻击的一部分,使用另一个漏洞捕获凭据。
管道GitHub Notify Step Plugin 1.0.5中凭据ID的枚举需要配置项目的权限。
Azure AD插件在其全局配置中存储客户端机密。
当凭证被加密存储在磁盘上时,Azure AD Plugin 1.1.2和更早版本会将其以明文形式传输,作为配置表单的一部分。这可能导致通过浏览器扩展、跨站点脚本漏洞和类似情况暴露凭据。
Azure AD Plugin 1.2.0在其全局加密配置中传输客户端机密。
FitNesse Plugin 1.30及更早版本未配置XML解析器以防止XML外部实体(XXE)攻击。
这允许用户能够为其后构建步骤控制输入文件,以使Jenkins解析制成的文件,该文件使用外部实体从Jenkins控制器,服务器端请求伪造或拒绝服务攻击中提取秘密。必威国际有限公司
FitNesse插件1.31禁用其XML解析器的外部实体处理。
Google Kubernetes引擎插件0.8.0及更早版本不会配置其YAML解析器,以防止任意类型的实例化。这导致远程执行漏洞,可通过能够向Google Kubernetes引擎插件提供yaml输入文件来提供给Google Kubernetes引擎插件的构建步骤。
Google Kubernetes引擎插件0.8.1将其Yaml解析器配置为仅实例化安全类型。
Brakeman Plugin 0.12及更早版本在渲染时未从已解析的JSON文件中收到的值,从而产生存储的跨站点伪漏洞。
能够控制Brakeman构建后步骤输入数据的用户可以利用此漏洞进行攻击。
brakeman插件0.13在记录受影响的值时,从解析文件中转义受影响的值。
笔记 |
此修复仅在安装固定版本的插件后应用于新录制的数据;历史数据仍可能包含不安全的值。 |
RadarGun插件1.7及更早版本未配置其YAML解析器以防止任意类型的实例化。这导致远程代码执行漏洞可被能够配置RadarGun插件构建步骤的用户利用。
RadarGun插件1.8将其YAML解析器配置为仅实例化安全类型。
DynamicExtendedChoice参数插件1.0.1及更早版本在作业中存储未加密的Subversion密码config.xml.
文件作为其配置的一部分。具有扩展读取权限或访问Jenkins controller文件系统的用户可以查看此凭据。必威国际有限公司
截至本公告发布之日,还没有解决方案。
Debian Package Builder插件1.6.11及更早版本在其全局配置文件中存储了GPG密码短语ru.yandex.必威国际有限公司jenkins.plugins.debuilder.debianpackagebuilder.xml.
在詹金斯控制器必威国际有限公司上。有权访问Jenkins controller文件系统的用户可以查看此凭据。
截至本公告发布之日,还没有解决方案。
DigitalOcean Plugin 1.1及更早版本在全局数据库中存储未加密的令牌config.xml.
文件作为其配置的一部分。有权访问Jenkins controller文件系统的用户可以查看此凭据。必威国际有限公司
截至本公告发布之日,还没有解决方案。
BMC发布包和部署插件1.1及更早版本在其全局配置文件中存储未加密的RPD用户令牌com.bmc.rpd.必威国际有限公司jenkins.plugin.bmcrpd.configuration.RPDPluginConfiguration.xml
在詹金斯控制器必威国际有限公司上。有权访问Jenkins controller文件系统的用户可以查看此凭据。
截至本公告发布之日,还没有解决方案。
ECX Copy Data Management Plugin 1.9及更早版本在作业中存储未加密的服务密码config.xml.
文件作为其配置的一部分。具有扩展读取权限或访问Jenkins controller文件系统的用户可以查看此凭据。必威国际有限公司
截至本公告发布之日,还没有解决方案。
Eagle Tester插件1.0.9及更早版本将密码存储在其全局配置文件中未加密com.bmc.rpd.必威国际有限公司jenkins.plugin.bmcrpd.configuration.RPDPluginConfiguration.xml
在詹金斯控制器必威国际有限公司上。有权访问Jenkins controller文件系统的用户可以查看此凭据。
截至本公告发布之日,还没有解决方案。
Harvest SCM插件0.5.1及更早版本在其全局配置文件中存储了未加密的SCM密码hudson.plugins.harvest.HarvestSCM.xml
在工作中config.xml.
jenkins控制器上的文必威国际有限公司件。用户可以通过扩展读取权限(作业)查看这些凭据(作业config.xml.
仅)或访问Jenkins控制器文件系统(两者)必威国际有限公司。
截至本公告发布之日,还没有解决方案。
Parasoft环境管理器插件2.14及更早版本在工作中存储了未加密的存储库密码config.xml.
文件作为其配置的一部分。具有扩展读取权限或访问Jenkins controller文件系统的用户可以查看此凭据。必威国际有限公司
截至本公告发布之日,还没有解决方案。
Applatix插件1.1及更早版本将Applatix密码存储在作业中未加密config.xml.
文件作为其配置的一部分。具有扩展读取权限或访问Jenkins controller文件系统的用户可以查看此凭据。必威国际有限公司
截至本公告发布之日,还没有解决方案。
这些版本包括对上述漏洞的修复。除非另有说明,否则所有以前的版本都被视为受到这些漏洞的影响。
截至本公告发布之日,以下插件没有可用的修复程序:
詹金斯项必威国际有限公司目感谢记者们的发现和帮助报告这些漏洞: