【漏洞通告】GitLab 任意文件读取漏洞 CVE-2021-22201

  • A+
所属分类:安全漏洞

漏洞名称GitLab 任意文件读取 CVE-2021-22201

组件名称 : GitLab

影响范围 : 13.9.0  ≤ GitLab < 13.9.5

漏洞类型 任意文件读取

利用条件 :

1、用户认证:需用户登录 GitLab
2、前置条件:用户有权限访问该项目
3、触发方式:远程

综合评价 :

<综合评定利用难度>:中等,需攻击者拥有GitLab账号且攻击者拥有导出项目的权限。

<综合评定威胁等级>:高危,能造成任意文件读取。


漏洞分析


组件介绍

GitLab是由GitLabInc开发,使用MIT许可证的基于网络的Git仓库管理工具,具有issue跟踪功能。它使用Git作为代码管理工具,并在此基础上搭建起来的web服务。


2 漏洞描述

2021年6月4日,深信服安全团队监测到一则GitLab组件存在任意文件读取漏洞的信息,漏洞编号:CVE-2021-22201,漏洞威胁等级:中危。


该漏洞是由于json-schema 在抛出另一个异常事件之前尝试再次打开文件,这使得攻击者能够读取服务器上的任意文件,若GitLab托管在云服务上,则可以更进一步造成远程代码执行,获得服务器最高权限。


3 补丁分析

补丁只去掉了initialize_data函数中的部分异常处理代码。捕获 JsonParseError 异常后,json-schema 在抛出另一个异常事件之前尝试再次打开文件。这种处理冗余的方式使攻击者能够读取服务器上的任意文件。

【漏洞通告】GitLab 任意文件读取漏洞 CVE-2021-22201


4 漏洞复现

搭建GitLab组件13.9.3-CE版本环境,复现该漏洞,效果如下:

【漏洞通告】GitLab 任意文件读取漏洞 CVE-2021-22201


影响范围


GitLab 可以运行在几乎所有计算机平台上,由于其跨平台和安全性被广泛使用,成为最流行的仓库管理系统项目之一。全球有数十万 GitLab 云托管服务器,可能受漏洞影响的资产广泛分布于世界各地,中国大陆省份中,浙江、广东、山东、北京、上海等省市位于前列。


目前受影响的GitLab版本:

13.9.0  ≤ GitLab < 13.9.5 


解决方案


1 如何检测组件系统版本

右上角找到help,点击选择栏中的“帮助”,即可看到版本信息。

【漏洞通告】GitLab 任意文件读取漏洞 CVE-2021-22201


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


深信服千里目安全实验室

【漏洞通告】GitLab 任意文件读取漏洞 CVE-2021-22201

深信服科技旗下安全实验室,致力于网络安全攻防技术的研究和积累,深度洞察未知网络安全威胁,解读前沿安全技术。

● 扫码关注我们

本文始发于微信公众号(深信服千里目安全实验室):【漏洞通告】GitLab 任意文件读取漏洞 CVE-2021-22201

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: