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 模式 ,对匿名用户也会开放管理员权限 ,如下图所示:

 

尊龙凯时 - 人生就是搏!


此误差使用的条件是需要期待 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 系统上使用则需要知足特定条件):

 

尊龙凯时 - 人生就是搏!


测试发明此误差的使用需要开启匿名用户会见权限(测试版本为 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