freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Jenkins任意文件读取 (CVE-2018-1999002)漏洞分析
2019-07-08 16:15:39

一、    漏洞背景

Jenkins官方发布最新安全通告,披露多个安全漏洞。其中,SECURITY-914是由Orange发现的Jenkins未授权任意文件读取漏洞,存在高危风险。

利用该漏洞,攻击者可以读取Windows系统服务器中的任意文件,且在特定而条件下也可以读取Linux系统服务器中的文件。通过利用该文件读取漏洞,攻击者可以获取Jenkins系统的凭证信息,导致用户的敏感信息遭到泄露。同时,Jenkins的部分凭证可能与其用户的帐号密码相同,攻击者获取到凭证信息后甚至可以直接登录Jenkins系统进行命令执行操作等。

二、    漏洞概要

谁应该读这个 使用Jenkins的开发者和用户
漏洞的影响 在Jenkins的Stapler Web框架中存在任意文件读取漏洞。恶意攻击者可以通过发送精心构造的HTTP请求在未经授权的情况下获取Jenkin主进程可以访问的Jenkins文件系统中的任意文件内容。
危害程度 高危
建议 ·        将您的Jenkins weekly升级至2.133版本。 ·        将您的Jenkins LTS升级至2.121.2版本。
受影响的软件 ·        Jenkins weekly 2.132及此前所有版本 ·        Jenkins LTS 2.121.1及此前所有版本
CVE标识符 CVE-2018-1999002

三、    搭建环境

安装漏洞影响范围内的Jenkins版本: Jenkins weekly 2.132及此前所有版本Jenkins LTS 2.121.1及此前所有版本,此处使用的是Jenkins LTS 2.121.1。

首先把jenkins的war包下载后放在tomcat webapps目录下,启动后自动解压war包或安装msi版本,或使用git从GitHub下载war包。

 图片.png

       启动tomcat,访问http://localhost:8080,如果8080默认端口被占用,则可以在Jenkins安装路径下的Jenkins.xml文件中修改端口后访问。打开页面后需要解锁jenkins。在安装目录下找到initialAdminPassword文件复制密码输入到password输入框,点击continue即可进行下一步操作。

 图片.png

安装插件后使用管理员进行登录,环境搭建完成。

 图片.png

四、    触发条件

1.    进行全局安全配置,开启匿名具有可读权限。

 图片.png图片.png

 

五、    漏洞分析

doDynamic这里用来处理请求中的包含的路径,比如/plugin/xxxx。

 图片.png图片.png

 

跟入request.getLocale(),跳至Request.java

 图片.png

getLocale()处理Http中的Accept-Language,根据-分为language和country,language为zh,country为cn,然后return Locale(language,country),如果不存在-,language即可使用../遍历,这时返回的结果即为Locale(language,””)。

 图片.png

再看Stapler.java中的LocaleDrivenResourceSelector类的open方法,从注释来看,这段代码本身根据Accept-Language来返回不同文件,比如请求为/plugin/credentials/.ini,payload为_../../../../../../../../../../../windows/win,在linux下需要plugin下存在-名称目录可利用,但win下直接可以通过路径穿越绕过,达到任意文件读取效果。

六、    修复建议

1. 将您的Jenkins weekly升级至2.133版本,将您的Jenkins LTS升级至2.121.2版本。

2.如果您暂时不希望通过升级Jenkins版本解决该漏洞,建议您使用Web应用防火墙的精准访问控制功能对您的业务进行防护。

通过精准访问控制功能,针对Accept-Language这个HTTP请求头设置阻断规则过滤该请求头中包含 ../的请求,防止攻击者利用该漏洞通过目录穿越读取任意文件。

七、    参考链接

http://blog.orange.tw/?spm=a2c4g.11186623.2.14.177338f9d0FtTP

https://help.aliyun.com/document_detail/86684.html


关注我们

Tide安全团队正式成立于2019年1月,是以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。

想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或关注公众号:

1551433162_5c78fdca9fae9.jpg

# CVE-2018-1999002
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者