漏洞介绍
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。2019年12月17日Jenkins发布安全通告,在新版本中完成多个漏洞的修复,以下是受影响的补丁情况:Alauda DevOps Pipeline插件Alauda Kubernetes Suport插件 Build Failure Analyzer插 件buildgraph-view插件Gerrit触发插件Mantis插件Maven扩展插件任务控制插件 Pipeline Aggregator View插件RapidDeploy插件Redgate SQL Change Automation插件Rundeck插件SCTMExecutor插件Spira Importer插件Team Concert插件WebSphere Deployer插件微博插件漏洞描述
Maven扩展插件中的XXE漏洞:
SECURITY-1681 / CVE-2019-16549(XXE),CVE-2019-16550(CSRF)
Maven扩展插件从Nexus存储库管理器API检索XML。Maven扩展插件0.16.1和更早版本未配置XML解析器以防止XML外部实体(XXE)攻击。虽然不允许具有“Overall/Administer”权限的Jenkins用户配置自定义Nexus URL,但仍然可以通过中间人攻击来利用此URL,特别是当它不是HTTPS URL时。此外,连接测试表单验证方法不需要POST请求,从而导致跨站点请求伪造漏洞。结合使用这服务器端请求伪造或拒绝服务攻击,攻击者可以使用精心制作的XML文档让Jenkins解析使用外部实体从Jenkins主服务器中提取私密信息。Maven扩展插件0.16.2配置其XML解析器以防止XML外部实体(XXE)攻击。现在还要求通过POST完成对连接测试表单验证方法的请求,以防止跨站点请求伪造攻击。
Gerrit触发插件中的CSRF漏洞和缺少权限检查:
SECURITY-1527 / CVE-2019-16551(CSRF),CVE-2019-16552(缺少权限检查)
Gerrit触发插件2.30.1和更早版本在执行表单验证的方法中不执行权限检查。这使具有“Overall/Read”访问权限的用户可以执行连接测试,使用攻击者指定的凭据连接到HTTP URL或SSH服务器,或者确定Jenkins主文件系统上是否存在具有攻击者指定路径的文件。此外,这些表单验证方法不需要POST请求,从而会导致CSRF漏洞。Gerrit触发插件2.30.2需要POST请求和受影响的表单验证方法的“Overall/Administer”权限。
Build Failure Analyzer插件中的CSRF漏洞和缺少权限检查允许ReDoS
SECURITY-1651 / CVE-2019-16553(CSRF),CVE-2019-16554(缺少权限检查),CVE-2019-16555(资源消耗)
Build Failure Analyzer插件1.24.1和更早版本不会在执行表单验证的方法中执行权限检查。这允许具有“Overall/Read”访问权限的用户执行大计算量的正则表达式,该正则表达式将挂起请求来处理正则线程。此外,此表单验证方法不需要POST请求,从而导致CSRF漏洞。Build Failure Analyzer插件1.24.2需要POST请求,并为受影响的表单验证方法实现权限检查,以便只有授权用户才能提交正则表达式。另外,正则表达式以可中断的方式实现,因此可以中断需要大量计算资源的正则表达式处理请求。
Pipeline Aggregator View插件中存储的XSS漏洞
SECURITY-1593 / CVE-2019-16564
Pipeline Aggregator View 插件1.8及更早版本不会转义其提供的视图上显示的信息。这将导致存储式跨站点脚本漏洞,可由能够配置作业,定义管道阶段或以其他方式影响使用Pipeline Aggregator View插件显示的信息的用户。Pipeline Aggregator View Plugin 1.9在其提供的视图上转义了用户控制的信息。
Rundeck插件以纯文本格式存储凭据
SECURITY-1636 / CVE-2019-16556
Rundeck插件3.6.5和更早版本将凭据作为其全局配置文件org.jenkinsci.plugins.rundeck.RundeckNotifier.xml和项目配置文件config.xml文件的一部分存储在Jenkins主服务器上。具有扩展读取权限的用户(对于config.xml文件)或者系统管理员可以查看这些URL。一旦再次保存全局或项目配置文件,Rundeck插件3.6.6会将凭据存储在加密的配置中。
Redgate SQL Change Automation插件以纯文本格式存储凭据
SECURITY-1598 / CVE-2019-16557
Redgate SQL Change Automation插件2.0.3和更早版本将未加密的凭据存储config.xml在Jenkins主服务器上的配置文件中,作为其构建步骤配置的一部分。具有读取权限或系统管理员的用户可以查看这些凭据。一旦再次保存配置,Redgate SQL Change Automation插件2.0.4就会存储其加密的凭据。
Spira Importer插件在全球范围内无条件禁用SSL / TLS证书验证
SECURITY-1580 / CVE-2019-16558
Spira Importer插件3.2.3和更早版本无条件禁用整个Jenkins主JVM的SSL / TLS证书验证。Spira Importer插件3.2.4不再禁用SSL / TLS证书验证。
WebSphere Deployer插件中的CSRF漏洞和缺少权限检查
SECURITY-1371 / CVE-2019-16559(权限检查),CVE-2019-16560(CSRF)
WebSphere Deployer插件1.6.1和更早版本不会在表单验证的方法中执行权限检查。这使具有“Overall/Read”访问权限的用户可以执行连接测试,确定Jenkins主文件系统上是否存在具有攻击者指定路径的文件,并根据响应获取有关Jenkins和插件配置的有限信息。后者包括设置插件配置选项的能力。此外,这些表单验证方法不需要POST请求,从而导致CSRF漏洞。截至本公告发布之时,尚无修复程序。
WebSphere Deployer插件全局无条件禁用SSL / TLS证书验证
SECURITY-1581 / CVE-2019-16561
WebSphere Deployer插件1.6.1和更早版本允许具有“Overall/Read”访问权限的用户为整个Jenkins主JVM禁用SSL / TLS证书和主机名验证,或者从Jenkins主文件系统上存储的文件中指定新的Java密钥库。截至本公告发布之时,尚无修复程序。
buildgraph-view插件存储式XSS漏洞
SECURITY-1591 / CVE-2019-16562 buildgraph-view插件1.8及更早版本无法逃避其视图中显示的构建说明。这导致存储的跨站点脚本漏洞,能够被能够更改构建描述的用户利用。截至本公告发布之时,尚无修复程序。
任务控制插件中存储的XSS漏洞
SECURITY-1592 / CVE-2019-16563 Mission Control插件0.9.16及更早版本不会在其提供的视图中转义作业显示名称和构建名称。这导致存储的跨站点脚本漏洞,能够由能够更改这些属性的用户利用。截至本公告发布之时,尚无修复程序。
Team Concert插件中的CSRF漏洞和缺少权限检查允许捕获凭据
SECURITY-1605(1)/ CVE-2019-16565(CSRF),CVE-2019-16566(缺少权限检查)
Team Concert插件1.3.0及更早版本不对实现表单验证的方法执行权限检查。这使具有对Jenkins的“Overall/Read”访问权限的用户可以使用通过另一种方法获取的攻击者指定的凭据ID连接到攻击者指定的URL,从而捕获存储在Jenkins中的凭据。此外,表单验证方法不需要POST请求,从而导致CSRF漏洞。截至本公告发布之时,尚无修复程序。
具有“Overall/Read”访问权限的用户可以在Team Concert插件中枚举凭据ID。
SECURITY-1605(2)/ CVE-2019-16567
Team Concert插件1.3.0及更早版本提供了适用的凭据ID列表,以允许配置插件的用户选择要使用的凭据ID。此功能不能正确检查权限,从而使任何具有“Overall/Read”权限的用户都可以获取有效凭据ID的列表。这些可以用作攻击的一部分,以利用另一个漏洞来捕获凭据。截至本公告发布之时,尚无修复程序。
SCTMExecutor插件以纯文本格式存储凭据
SECURITY-1521 / CVE-2019-16568
SCTMExecutor插件2.2和更早版本将Silk Central凭据存储在全局Jenkins配置和项目config.xml文件中。这些凭据以加密方式存储在磁盘上时,会以纯文本格式作为配置形式的一部分进行传输。这可能导致通过浏览器扩展,跨站点脚本漏洞和类似情况暴露这些凭据。截至本公告发布之时,尚无修复程序。
Mantis插件中的CSRF漏洞
安全1603 / CVE-2019-16569
Mantis插件0.26和更早版本不需要POST方法进行连接测试,从而导致CSRF漏洞。这使攻击者可以使用攻击者指定的凭据将Jenkins连接到攻击者指定的与Mantis相关的Web服务器路径上。截至本公告发布之时,尚无修复程序。
RapidDeploy插件中的CSRF漏洞和缺少权限检查允许SSRF
SECURITY-1604 / CVE-2019-16570(CSRF),CVE-2019-16571(缺少权限检查)
RapidDeploy插件4.1和更早版本不对表单验证方法执行权限检查。这使具有对Jenkins的“Overall/Read”访问权限的用户可以连接到攻击者指定的与RapidDeploy相关的Web服务器路径上。此外,这些表单验证方法不需要POST请求,从而导致CSRF漏洞。截至本公告发布之时,尚无修复程序。
微博插件以纯文本格式存储凭据
SECURITY-1597 / CVE-2019-16572
微博插件1.0.1和更早版本将未加密的凭据存储org.jenkinsci.plugins.weibo.WeiboNotifier.xml在Jenkins主服务器的全局配置文件中。有权访问主文件系统的用户可以查看此凭据。截至本公告发布之时,尚无修复程序。
Alauda DevOps Pipeline插件中的CSRF漏洞和缺少权限检查允许凭据捕获
SECURITY-1600 / CVE-2019-16573(CSRF),CVE-2019-16574(缺少权限检查)
Alauda DevOps Pipeline插件2.3.2和更早版本不对实现表单验证的方法执行权限检查。这允许具有对Jenkins的Overall/Read访问权限的用户使用通过另一种方法获得的攻击者指定的凭据ID连接到攻击者指定的与Kubernetes相关的Web服务器路径上,从而捕获由Alauda DevOps Pipeline Plugin管理的令牌凭据。此外,表单验证方法不需要POST请求,从而导致CSRF漏洞。截至本公告发布之时,尚无修复程序。
Alauda Kubernetes Suport插件中的CSRF漏洞
SECURITY-1602 / CVE-2019-16575(CSRF),CVE-2019-16576(缺少权限检查)
Alauda Kubernetes Suport Plugin 2.3.0和更早版本不需要POST请求进行连接测试,从而导致CSRF漏洞。这允许攻击者使用通过另一种方法获得的攻击者指定的凭据ID,将Jenkins连接到攻击者指定的与Kubernetes相关的Web服务器路径上,从而捕获存储在Jenkins中的“秘密文本”凭据。此外,如果未指定凭据ID,则连接将使用来自的默认Kubernetes令牌/var/run/secrets/kubernetes.io/serviceaccount/token。截至本公告发布之时,尚无修复程序。
影响版本
Alauda DevOps Pipeline 插件 2.3.2版本及以下
Alauda Kubernetes Suport 插件 2.3.0版本及以下
Build Failure Analyzer 插件 1.24.1版本及以下
buildgraph-view 插件 1.8版本及以下
Gerrit Trigger 插件 2.30.1版本及以下
Mantis 插件 0.26版本及以下
Maven Release Plug-in 插件 0.16.1版本及以下
Mission Control 插件 0.9.16版本及以下
Pipeline Aggregator View 插件 1.8版本及以下
RapidDeploy 插件 4.1版本及以下
Redgate SQL Change Automation 插件 2.0.3版本及以下
Rundeck 插件 3.6.5版本及以下
SCTMExecutor 插件 2.2版本及以下
Spira Importer 插件 3.2.3版本及以下
Team Concert 插件 1.3.0版本及以下
WebSphere Deployer 插件 1.6.1版本及以下
Weibo 插件 1.0.1版本及以下
已修复版本
受影响插件请尽快更新至以下版本,另有部分插件尚未修复,请及时关注Jenkis官网修复情况。
Build Failure Analyzer 插件 1.24.2版本
Gerrit Trigger 插件 2.30.2版本
Maven Release Plug-in 插件 0.16.2版本
Pipeline Aggregator View 插件 1.9版本
Redgate SQL Change Automation 插件 2.0.4版本
Rundeck 插件 3.6.6版本
Spira Importer 插件 3.2.4版本
情报来源
https://jenkins.io/security/advisory/2019-12-17/