漏洞名称 : GitLab 任意文件读取 CVE-2021-22201
组件名称 : GitLab
影响范围 : 13.9.0 ≤ GitLab < 13.9.5
漏洞类型 : 任意文件读取
利用条件 :
1、用户认证:需用户登录 GitLab
2、前置条件:用户有权限访问该项目
3、触发方式:远程
综合评价 :
<综合评定利用难度>:中等,需攻击者拥有GitLab账号且攻击者拥有导出项目的权限。
<综合评定威胁等级>:高危,能造成任意文件读取。
漏洞分析
1 组件介绍
GitLab是由GitLabInc开发,使用MIT许可证的基于网络的Git仓库管理工具,具有issue跟踪功能。它使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
2 漏洞描述
2021年6月4日,深信服安全团队监测到一则GitLab组件存在任意文件读取漏洞的信息,漏洞编号:CVE-2021-22201,漏洞威胁等级:中危。
该漏洞是由于json-schema 在抛出另一个异常事件之前尝试再次打开文件,这使得攻击者能够读取服务器上的任意文件,若GitLab托管在云服务上,则可以更进一步造成远程代码执行,获得服务器最高权限。
3 补丁分析
补丁只去掉了initialize_data函数中的部分异常处理代码。捕获 JsonParseError 异常后,json-schema 在抛出另一个异常事件之前尝试再次打开文件。这种处理冗余的方式使攻击者能够读取服务器上的任意文件。
4 漏洞复现
搭建GitLab组件13.9.3-CE版本环境,复现该漏洞,效果如下:
影响范围
GitLab 可以运行在几乎所有计算机平台上,由于其跨平台和安全性被广泛使用,成为最流行的仓库管理系统项目之一。全球有数十万 GitLab 云托管服务器,可能受漏洞影响的资产广泛分布于世界各地,中国大陆省份中,浙江、广东、山东、北京、上海等省市位于前列。
目前受影响的GitLab版本:
13.9.0 ≤ GitLab < 13.9.5
解决方案
1 如何检测组件系统版本
右上角找到help,点击选择栏中的“帮助”,即可看到版本信息。
2 官方修复建议
当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。链接如下:
https://about.gitlab.com/releases/2021/03/31/security-release-gitlab-13-10-1-released/
时间轴
2021/3/31 深信服监测到GitLab官方发布安全补丁。
2021/6/7 深信服千里目安全实验室发布漏洞通告。
点击阅读原文,及时关注并登录深信服智安全平台,可轻松查询漏洞相关解决方案。
深信服科技旗下安全实验室,致力于网络安全攻防技术的研究和积累,深度洞察未知网络安全威胁,解读前沿安全技术。
● 扫码关注我们
本文始发于微信公众号(深信服千里目安全实验室):【漏洞通告】GitLab 任意文件读取漏洞 CVE-2021-22201
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论