2020年4月28日,GitLab的一个任意文件读取漏洞的漏洞细节被公开。该漏洞补丁于2020年3月26号由GitLab官方发布。深信服安全研究团队依据漏洞重要性和影响力进行评估,作出漏洞通告。

漏洞名称:GitLab任意文件读取漏洞(CVE-2020-10977)

威胁等级:高危

影响范围:GitLab EE/CE 8.5及更高版本

漏洞类型:任意文件读取

利用难度:简单

漏洞分析

1 相关组件介绍

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

2 漏洞分析

当GitLab的项目之间发生issue移动时,UploadsRewriter模块会将本地的issue及issue引用的文件移动到新的项目中。执行该操作的部分代码如下所示:

该部分代码没有对issue引用的文件做任何路径限制,因此存在一个目录穿越漏洞。通过该目录穿越漏洞可以从GitLab服务器上拷贝任意文件到新的issue中。此过程存在一个查找引用文件的判断:

MARKDOWN_PATTERN=%r{\!?\[.*?\]\(/uploads/(?<secret>[0-9a-f]{32})/(?<file>.*?)\)}.freeze

该正则表达式用于匹配issue中引用的文件。尽管此处对引用的文件路径有一定的限制,但是并没有解决目录穿越的问题,从而导致攻击者可以利用该漏洞从服务器主机上下载任意文件。

受影响版本

GitLab GitLab EE >=8.5,<=12.9

GitLab GitLab CE >=8.5,<=12.9

解决方案

1 检测方式

使用如下命令检测当前GitLab版本:

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

若检测当前版本在受影响范围内,则存在上述安全风险。

2 修复建议

官方已在最新版本的GitLab修复了上述漏洞,用户可从官网下载并升级软件到最新版本。

链接如下:https://packages.gitlab.com/gitlab/gitlab-ce

3 深信服解决方案

深信服下一代防火墙】可轻松防御此漏洞, 建议部署深信服下一代防火墙的用户更新至最新的安全防护规则,可轻松抵御此高危风险。

深信服云盾】已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。

深信服安全感知平台】可检测利用该漏洞的攻击,实时告警,并可联动【深信服下一代防火墙等产品】实现对攻击者ip的封堵。

深信服安全运营服务】深信服云端安全专家提供7*24小时持续的安全运营服务。在漏洞爆发之初,云端安全专家即对客户的网络环境进行漏洞扫描,保障第一时间检查客户的主机是否存在此漏洞。对存在漏洞的用户,检查并更新了客户防护设备的策略,确保客户防护设备可以防御此漏洞风险。

时间轴

2020/3/26

GitLab发布更新补丁

2020/4/28

漏洞细节被公开

2020/5/7

深信服千里目安全实验室发布漏洞分析文章

gitlab 更新文件_GitLab任意文件读取漏洞公告相关推荐

  1. .exp文件_mini_httpd 任意文件读取漏洞(附EXP脚本)

    一.环境搭建: 进入镜像目录: cd vulhub/mini_httpd/CVE-2018-18778 启动环境: docker-compose up -d 访问8088端口 二.漏洞描述: Mini ...

  2. 一、WillPHPv2代码审计-[变量覆盖]-[文件包含]-[任意文件读取漏洞]-[pearcmd裸文件包含]

    时间戳--2021.12.12 0x01 [HXBCTF 2021]easywill_WriteUp: 一.PHPSTORM框架调试 第一步:登录buuctf,打开[HXBCTF 2021]easyw ...

  3. CVE-2020-1938 幽灵猫( GhostCat ) Tomcat-Ajp协议 任意文件读取/JSP文件包含漏洞分析

    title: CVE-2020-1938 幽灵猫( GhostCat ) Tomcat-Ajp协议 任意文件读取/JSP文件包含漏洞分析 date: 2021-05-19 01:07:08 categ ...

  4. 任意文件读取及删除漏洞

    任意文件读取漏洞及危害 通过提交专门设计的输入,攻击者就可以在被访问的文件系统中读取或写入任意内容,往往能够使攻击者从服务器上获取敏感信息文件,正常读取的文件没有经过校验或者不严格,用户可以控制这个变 ...

  5. 【MetInfo任意文件读取】--任意文件读取漏洞

    文章目录 漏洞信息 一.漏洞产生的原因 二.漏洞利用 1.对靶机网址进行burp抓包 2.对上述请求包进行修改 三.漏洞修复与绕过--四种修复与绕过 1.置空../和./ 2.对$dir进行判断 3. ...

  6. 任意文件读取与下载漏洞学习

    原理: 任意文件读取漏洞属于文件操作类漏洞,一般常见于PHP/java/python语言中.任意文件读取漏洞,就是可以任意读取服务器上部分或者全部文件的漏洞,攻击者利用此漏洞可以读取服务器敏感文件如/ ...

  7. 深信服 应用交付报表系统 download.php 任意文件读取漏洞

    漏洞描述: 深信服 应用交付报表系统 download.php文件存在任意文件读取漏洞,攻击者通过漏洞可以下载服务器任意文件. 漏洞利用条件: download.php文件接口 漏洞影响范围: 应用交 ...

  8. 7天学习Go语言-尾声+一次险些翻车的任意文件读取漏洞小记

    接口 接口的定义 接口(interface )类型是对其他类型行为的概括和抽象,接口类型定义了一组方法,但是不包括这些方法的具体实现 接口本质是一种指针类型,可以实现多态功能.如果一个类型实现了某个接 ...

  9. 蓝海卓越计费管理系统漏洞学习——download.php 任意文件读取漏洞

    警告 请勿使用本文提到的内容违反法律. 本文不提供任何担保 目录 警告 一.概述 二.影响版本 三.漏洞复现 一.概述 蓝海卓越计费管理系统 download.php文件存在任意文件读取漏洞,攻击者通 ...

最新文章

  1. 智能工厂4.0:数字世界和物理世界的融合【附下载】
  2. 设计模式 — 行为型模式 — 访问者模式
  3. 6、mybatis主配置文件之databaseIdProvider
  4. PHP自动测试框架Top 10
  5. ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记
  6. 把感知机组装在一起就是神经网络了?
  7. 遇到了arcgis server9.1 在web开发的问题
  8. POJ分层练习题目列表
  9. 多个门店相继火爆开业,海底捞的“升级版”加速全国布局
  10. java将小写金额转为大写金额
  11. c++ 常用总结(三)
  12. 入门行人重识别 尝试跑(郑哲东 简单行人重识别代码到88%准确率)过程
  13. 合格的MySQL管理员必备备份恢复与日志管理,对MySQL进行简单的操作
  14. 【微信小程序】解决点击(bindtap)和长按(bindlongtap)冲突
  15. 8B/10B编码原理详解、Verilog实现及在JESD204B中的应用
  16. OA性能调优方案(二)
  17. 计算机 英文论文引言,英语计算机论文引言的名物化及其功能研究
  18. 基于Java+Spring+Vue+elementUI大学生求职招聘系统详细设计实现
  19. iOS 图标适配官网
  20. X5045看门狗电路

热门文章

  1. opa847方波放大电路_电子设计竞赛教程-信号发生电路
  2. Linux检查镜像,Shell脚本实现检测Cygwin最快的镜像站点
  3. java skype 类库_Skype4Java 用 实现的 ,内附具体的开发文档和使用说明 Develop 238万源代码下载- www.pudn.com...
  4. IDA的函数操作,与导航操作;
  5. Python 5种不为人知的高级特征
  6. Python类的使用总结
  7. 标注反向优化 生成全体测试集空标注(无需坐标、只要送给权重evaluate即可)predicted
  8. numpy np.polyfit()(最小二乘多项式拟合曲线)(有待进一步研究)
  9. 中心化(又叫零均值化)和标准化(又叫归一化)
  10. asp简单样例(1)