内容正在载入中,请稍后……
公告
搜索
统计
其他
7 Nov.2021

修复gitlab漏洞,从gitlab-ce12.x升级13.8.8的升级路线 不指定

作者: 我就是个世界   分类:技术&学习 » 服务器环境   出处:本站原创            | |
服务器突然被封了 IP。。。

原引华为云安全公告:Gitlab远程命令执行漏洞在野利用预警(CVE-2021-22205)

引用


[p align=]Gitlab远程命令执行漏洞在野利用预警(CVE-2021-22205)[/p]

一、概要

近日,华为云关注到Gitlab官方在2021年4月14日发布的安全更新公告中披露的Gitlab远程命令执行漏洞(CVE-2021-22205)在互联网上已出现在野攻击利用。由于Gitlab没有正确验证传递给解析器的图像文件,攻击者利用漏洞上传专门制作的图像文件可导致执行远程代码执行,目前漏洞POC已公开,风险较高。

GitLab 是一款基于 Git 的完全集成的软件开发平台。华为云提醒使用GitLab的用户尽快安排自检并做好安全加固。

参考链接:https://about.gitlab.com/releases/2021/04/14/security-release-gitlab-13-10-3-released/

二、威胁级别

威胁级别:【严重】

(说明:威胁级别共四级:一般、重要、严重、紧急)

三、漏洞影响范围

影响版本:

11.9 <=  GitLab(CE/EE)< 13.8.8

13.9 <=  GitLab(CE/EE)< 13.9.6

13.10 <= GitLab(CE/EE)< 13.10.3

安全版本:

GitLab(CE/EE) 13.8.8

GitLab(CE/EE) 13.9.6

GitLab(CE/EE) 13.10.3

四、漏洞处置

目前,官方已在新版本修复了该漏洞,请受影响的用户尽快升级到安全版本:

下载地址:https://about.gitlab.com/update/

华为云WAF具备对该漏洞防御能力。华为云WAF用户将“Web基础防护”状态设置为“拦截”模式,具体方法请参见配置Web基础防护规则。

注:修复漏洞前请将资料备份,并进行充分测试。



解决办法: 备份数据 》 重装系统 》恢复数据 》升级到安全版本

但是这个 gitlab 升级有点麻烦,不能跨大版本升级,必须按照官方升级路线进行升级,我要从12.6.2升级到13.8.8,需要四个中间版本:12.10、13.0、13.1和13.8.8,再然后可以升级到当前最新版13.12.10。 具体升级步骤如下:

1. 手动备份gitlab数据文件
使用备份命令"gitlab-rake gitlab:backup:create"将整个 gitlab 备份打包一份放在默认的备份目录/var/opt/gitlab/backups中
gitlab-rake gitlab:backup:create

警告:gitlab.rb和gitlab-secrets.json文件包含敏感数据,不包括在此备份中。您将需要这些文件来恢复备份。请手动备份它们。

2. 检查当前版本号,并根据官方升级路径,下载对应版本的安装包
检查当前版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

下载对应版本的安装包

# 下载12.x最后一个发行版本,--no-check-certificate 参数表示wget 对 https 站点的请求时不再检查证书,当然你可以更新你的 CA 证书来解决因无法验证证书而导致无法下载的问题。
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.10.14-ce.0.el7.x86_64.rpm

# 下载13.x第一个发行版本
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.0.14-ce.0.el7.x86_64.rpm

# 下载13.1.11
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.11-ce.0.el7.x86_64.rpm

# 下载13.8.8发行版本
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.8.8-ce.0.el7.x86_64.rpm

# 下载13.x最新发行版本
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.12.15-ce.0.el7.x86_64.rpm


3. 开始逐步升级,切记不需要停止 gitlab ,停止状态下无法升级

#从12.6.2升级到12.10.14
yum install -y ./gitlab-ce-12.10.14-ce.0.el7.x86_64.rpm
#升级到13.0.0-
yum install -y ./gitlab-ce-13.0.0-ce.0.el7.x86_64.rpm
#升级到13.1.11-
yum install -y ./gitlab-ce-13.1.11-ce.0.el7.x86_64.rpm
#升级到13.8.8安全版本
yum install -y ./gitlab-ce-13.8.8-ce.0.el7.x86_64.rpm

长级过程中,前台UI 会中断或显示部署中
Highslide JS

每一次成功升级完成,都会看到成功的提示,显示Fail 说明升级不成功。


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Upgrade complete! If your GitLab server is misbehaving try running
  sudo gitlab-ctl restart
before anything else.
If you need to roll back to the previous version you can use the database
backup made during the upgrade (scroll up for the filename).

  Verifying  : gitlab-ce-12.10.14-ce.0.el7.x86_64                                                         1/2
  Verifying  : gitlab-ce-12.6.2-ce.0.el7.x86_64                                                           2/2

Updated:
  gitlab-ce.x86_64 0:12.10.14-ce.0.el7                                                                        

Complete!

Highslide JS
Highslide JS
Highslide JS
Highslide JS

4. 重启服务或系统,并查看状态,测试功能。主要确认下代码仓库是否完整。
gitlab-ctl restart


reboot

分享到QQ空间
最后编辑: 我就是个世界 编辑于January 4, 2022 00:19
时间:02:19 评论(0) 引用(0) 阅读(265) Tags: , , ,
发表评论
  昵称 [注册]
  密码 (游客无需密码)
  网址
  电邮
OpenID登入 权限选项 表情