极狐(GitLab)深知漏洞管理对系统的安全性和稳定性至关重要。针对今年 4 月出现的 CVE-2021-22205 GitLab CE/EE/JH 版本 exiftool 远程命令执行漏洞,本文将为您详细介绍漏洞的更新升级方案。极狐(GitLab)将时刻保持安全警惕,并始终致力于为您提供安全、稳定、高效的一体化 DevOps 平台。

如您遇有任何问题,可以随时通过https://support.gitlab.cn/进行提交,极狐GitLab 技术团队将在第一时间与您回复。

漏洞概述

2021 年 4 月 14 日 GitLab 官方发布安全更新,披露了 CVE-2021-22205 GitLab exiftool 远程命令执行漏洞,攻击者通过上传恶意图片可触发远程命令执行,控制服务器。

由于 GitLab 某些端点路径无需授权,攻击者可在无需认证的情况下完成图片上传,从而执行任意命令。

漏洞 CVE-2021-22205 影响范围

CVE-2021-22205 影响范围从 GitLab 11.9 开始,影响范围为如下版本:

由于GitLab针对该漏洞已更新相关补丁,GitLab(CE/EE) 的 13.8.8、13.9.6、13.10.3 以及 13.11 以上版本或极狐 14.x.x 都修复了该问题。(参考GitLab Critical Security Release: 13.10.3, 13.9.6, and 13.8.8)。

注:截止到本文撰写,极狐GitLab 的最新发布版本为极狐GitLab 14.4.1

漏洞出处

该漏洞最初由 HackerOne 的 vakzz 反馈问题,该漏洞起始于 GitLab(CE/EE)11.9,GitLab 未验证图片文件(jpeg/jpg/tiff)的元数据并直接进行文件解析而造成远程命令被执行(参考:RCE when removing metadata with ExifTool)。未经授权的用户可以通过该方法对任意用户进行提权操作(参考:GitLab CE CVE-2021-22205 in the wild)。

漏洞问题查找

极狐GitLab 技术支持团队针对漏洞 CVE-2021-22205 进行了复现并查找到了问题到根因。GitLab Inc.的技术团队也建立相关 issue(Gitlab issue: RCE when removing metadata with ExifTool)跟踪该问题的进展情况。

该问题是在GitLab-CE/EE 11.9 引入,GitLab 使用开源软件 ExifTool 对图片文件进行处理时未筛查图片文件中是否包含不安全的 shell 脚本而造成。

我们根据实际的用户使用场景模拟了黑客攻击系统漏洞的方式,并测试利用该系统漏洞可以进行哪些攻击手段:

  1. 利用该漏洞执行远程命令,访问操作系统并修改系统文件;

  2. 将GitLab的任意用户提升为管理员,并借此访问所有 GitLab 管理的资料(用户信息、代码仓库以及 Uploads);

  3. 以管理员用户身份,修改或删除 GitLab 的用户数据;

  4. 攻击者可以伪装成任意用户执行 GitLab API 请求。

由于该漏洞的严重级别很高,建议处于漏洞 CVE-2021-22205 影响范围的客户参考下文中的漏洞问题解决及时进行系统升级。

同时,我们验证了在进行系统升级或者安装系统补丁之后,上述漏洞已被修复。

如果需要了解漏洞 CVE-2021-22205 的详细信息可以参考 GitLab issue: RCE when removing metadata with ExifTool。

漏洞问题解决

目前有2种方式解决CVE-2021-22205漏洞问题:

GitLab 系统升级(推荐)

适用场景:

GitLab Inc.在发现该漏洞之后针对该问题进行了补丁修复,新发布的 GitLab 13.8.8、13.9.6、13.10.3、13.11 以上版本以及所有的极狐GitLab 版本中解决了该问题。我们推荐您将您的系统升级至极狐GitLab 最新发布的版本(或最近的 3 个次版本,GitLab 版本号的命名规则是<主版本号>.<次版本号>.<修正版本号>)。

通过将原有的 GitLab-CE/EE 升级至 13.8.8、13.9.6、13.10.3 或 13.11 以上版本,或者极狐GitLab 最新版 14.x.x,解决CVE-2021-22205 漏洞问题。

操作系统升级 ExifTool

适用场景:

由于 CVE-2021-22205 是由开源软件 ExifTool 引入的问题,通过升级 ExifTool 也可以解决该漏洞问题,在操作系统层面安装补丁:

sudo apt-get update -y
sudo apt-get install -y libimage-exiftool-perl

其他 Debian 版本可安装或升级 libimage-exiftool-perl 版本: CVE-2021-22204

Centos7 用户安装 perl-Image-ExifTool-12.30-1.el7.noarch:

sudo yum update -y
sudo yum install -y perl-Image-ExifTool

推荐升级到极狐GitLab最新版本

极狐GitLab 技术支持团队推荐您将GitLab平台升级至极狐GitLab 的最新版本(或者最近的 3 个次版本,GitLab 版本号的命名规则是<主版本号>.<次版本号>.<修正版本号>)。极狐GitLab将在每月 28 日发布一个新的小版本(修正版本),随着新版本的升级,漏洞得到了修复并能够享受更多新功能,为本地用户提供更好的用户体验。关于为什么推荐升级到极狐GitLab,可查看 (/is-it-any-good/)。

极狐GitLab 的新版本有很多新的 Feature 帮助您实现更加安全高效的 DevOps 实践。

让我们一起看一下极狐GitLab 14 在安全功能方面所做的大量优化:

从上面可以看出极狐GitLab 其实已经是一个 DevSecOps 平台了,其提供的容器镜像扫描、静态应用安全测试(SAST)、动态应用安全扫描(DAST)、密钥检测、License 合规、依赖项扫描以及模糊测试等安全功能,能够完整的覆盖软件开发生命周期的各个阶段,助力企业实现软件供应链安全。

极狐GitLab技术支持

极狐GitLab 有非常专业的技术支持团队(零投诉、高水平),能为付费客户(专业版/旗舰版)提供全面的技术支持。极狐GitLab 技术团队提供的服务有:

此外,极狐GitLab社区版用户也可以在极狐GitLab中文技术社区获取到第一手的资料以及帮助支持。并且在极狐GitLab 的微信群中交流任何与极狐GitLab 相关的话题,我们的专业人员都会在群里及时回复大家的问题。极狐GitLab中文技术社区:/community/

60天免费试用极狐GitLab专业版

极狐GitLab不仅是源代码管理或CI/CD工具,它是一个覆盖完整软件开发生命周期和DevOps的开放式一体化平台。

企业版试用
售前咨询
联系电话
在线支持
预约演示