Jenkins建复多个安全缝隙安全公告

颁布功夫 2018-07-25
缝隙编号和级别
CVE-2018-1999001  厂商自评:高  CVSS分值:官方未评定
CVE-2018-1999002  厂商自评:高  CVSS分值:官方未评定
CVE-2018-1999003  厂商自评:中  CVSS分值:官方未评定
CVE-2018-1999004  厂商自评:中  CVSS分值:官方未评定
CVE-2018-1999005  厂商自评:中  CVSS分值:官方未评定
CVE-2018-1999006  厂商自评:中  CVSS分值:官方未评定

CVE-2018-1999007  厂商自评:中  CVSS分值:官方未评定


影响版本

Jenkins weekly 2.132 以及更早的版本

Jenkins LTS 2.121.1 以及更早的版本


缝隙概述
Jenkins是一个开源软件项目, ,,,,,,,是基于Java开发的一种持续集成工具, ,,,,,,,用于监控持续沉复的工作, ,,,,,,,旨在提供一个盛开易用的软件平台, ,,,,,,,使软件的持续集成造成可能。。。。。。。

Jenkins 官方在 7 月 18 号颁布了安全资讯, ,,,,,,,对两个高危和5个中级缝隙进行公告: https://jenkins.io/security/advisory/2018-07-18/。。。。。。。


CVE-2018-1999001配置文件蹊径扭转导致治理员权限盛开缝隙
远程且未经授权的攻击者能够通过机关恶意登录凭证, ,,,,,,,从Jenkins 主目录下移除 config.xml 配置文件到其他目录, ,,,,,,,从而导致 Jenkins 服务下次沉启时退回 legacy 模式, ,,,,,,,对匿名用户也会盛开治理员权限, ,,,,,,,如下图所示:

 

8827太阳集团(Macau)股份有限公司-Official website


此缝隙利用的前提是必要期待 Jenkins 服务的沉启。。。。。。。


为了缓解此问题, ,,,,,,,我们强烈建议没有此建复法式的Jenkins事俘的治理员能够由不受信赖的用户接见, ,,,,,,,在关关Jenkins之前不久保留全局配置。。。。。。。这样做会将当前配置从内存写入config.xml文件, ,,,,,,,该文件仅在启动时或沉新加载配置时读取。。。。。。。

若是在利用此问题后Jenkins已经关关, ,,,,,,,则能够在Jenkins主目录中的users/$002e$002e/config.xml中找到config.xml文件。。。。。。。


CVE-2018-1999002肆意文件读取缝隙

Jenkins 使用的 Stapler Web 框架存在肆意文件读取缝隙。。。。。。。攻击者在远程且未经授权的情况下, ,,,,,,,能够通过机关恶意的 HTTP 要求发往 Jenkins Web 服务端, ,,,,,,,从要求响应中直接获取攻击者指定读取的文件内容。。。。。。。


从官方提交的安全测试补丁中, ,,,,,,,能够看出, ,,,,,,,此缝隙是在 HTTP 要求头 Accept-Language 中进行恶意数据机关, ,,,,,,,并重要针对 Windows 系统(在 Linux 系统上利用则必要满足特定前提):

 

8827太阳集团(Macau)股份有限公司-Official website


测试发现此缝隙的利用必要开启匿名用户接见权限(测试版本为 Jenkins LTS 2.121.1)。。。。。。。

Stapler中的输入验证已得到改进, ,,,,,,,以预防这种情况产生。。。。。。。


CVE-2018-1999003未经授权的用户能够取缔列队的构建
处置列队构建取缔的URL未执行权限查抄, ,,,,,,,允许具佑装总体/读取”权限的用户取缔列队构建。。。。。。。

处置列队构建的取缔的URL此刻确保用户拥有项目/取缔权限。。。。。。。


CVE-2018-1999004未经授权的用户能够启动和遏制代理启动
在Jenkins主服务器上启动代理启动的URL未执行权限查抄, ,,,,,,,允许具佑装总体/读取”权限的用户启动代理启动。。。。。。。
这样做取缔了指定代理法式的所有在进行的启动, ,,,,,,,因而这允许攻击者阻止代理无期限启动。。。。。。。

此刻, ,,,,,,,代理启动的URL可确保用户具佑装代理/衔接”权限。。。。。。。


CVE-2018-1999005存储的XSS缝隙
在像/ view / ... / builds这样的URL上显示的构建功夫线幼部件没有正确地转义项主张显示名称。。。。。。。这导致了可能节造项目显示名称的用户可利用的跨站点剧本缝隙。。。。。。。

Jenkins此刻转义功夫线幼部件上显示的作业显示名称。。。。。。。


CVE-2018-1999006未经授权的用户能够确定何时从其JPI包中提取插件
批示何时将插件JPI文件最后提取到Jenkins主目录中的插件/子目录中的文件可由拥有总体/读取权限的用户通过HTTP接见。。。。。。。这允许未经授权的用户确定给定插件的可能装置日期。。。。。。。

受影响的文件不再通过HTTP提供。。。。。。。


CVE-2018-1999007 Stapler调试模式下的XSS缝隙
Stapler是Jenkins用于路由HTTP要求的Web框架。。。。。。。启用其调试模式后, ,,,,,,,HTTP 404谬误页面将显示诊断信息。。。。。。。这些谬误页面没有逃避它们显示的部门URL, ,,,,,,,在极少数情况下会导致跨站点剧本缝隙。。。。。。。
此刻能够正确转义这些谬误页面上显示的部门URL。。。。。。。

作为解决步骤, ,,,,,,,不应在Stapler调试模式下对不受信赖的用户可接见的事俘启用Stapler调试模式。。。。。。。


建复建议:
用户应实时升级进行防护:
Jenkins weekly 升级到 2.133 版本

Jenkins LTS 升级到 2.121.2 版本


参考链接:
https://jenkins.io/security/advisory/2018-07-18/
https://github.com/jenkinsci/jenkins/commit/d71ac6ffe98ee62e0353af7a948a4ae1a69b67e9