GitLab升级版本(任意用户密码重置漏洞CVE-2023-7028)

前言

最近GitLab发了个紧急漏洞需要修复,ok接到命令立刻着手开始修复,在修复之前先大概了解一下这个漏洞是什么东西
在这里插入图片描述

漏洞分析

1、组件介绍:GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
2、漏洞描述:2024年1月12日,深瞳漏洞实验室监测到一则GitLab组件存在任意用户密码重置漏洞的信息,漏洞编号:CVE-2023-7028,漏洞威胁等级:高危。该漏洞是由于开发者在开发时没有对各项参数进行准确的校验造成的,攻击者可利用该漏洞在未授权的情况下,进行任意用户密码重置,最终导致用户账户被攻击者接管

影响范围

影响范围目前受影响的GitLab版本:
16.1≤GitLab<16.1.5
16.2≤GitLab<16.2.8
16.3≤GitLab<16.3.6
16.4≤GitLab<16.4.4
16.5≤GitLab<16.5.6
16.6≤GitLab<16.6.4
16.7≤GitLab<16.7.2

查看自己的GitLab版本

在自己gitlab后面加上/help即可查看版本,在我查阅资料后,发现gitlab需要迭代升级,一步到顶会出现问题,这是官网地址:https://docs.gitlab.com/ee/update/#installation-using-docker

升级路程

由于公司的gitlab是13.1.3版本,所以需要跨越3个大版本,目标版本16.1.6

下面这是我个人总结的GitLab升级路线:
8.17.7
9.5.10
10.8.7
11.11.8
12.0.2
12.1.17
12.10.14
13.0.14
13.1.11
13.8.8
13.12.15
14.0.12
14.3.6
14.9.5
14.10.5
15.0.5
15.1.6
15.4.6
15.11.13
16.0.8
16.1.6
16.2.8
16.3.6
16.Z

升级过程

13.1.11

由于我是13.1.3,所以是在13.0.14版本后,把13.1.11版本作为第一个升级的版本,而且由于使用了docker在升级版本方面还是比较方便的

# 0、备份
docker exec -it gitlab /bin/bash     #进入容器,gitlab是容器名字
gitlab-rake gitlab:backup:create          #备份命令, 备份目录/var/opt/gitlab/backups

# 1、下载
docker pull gitlab/gitlab-ce:13.1.11-ce.0

# 2、停止当前gitlab
docker stop gitlab

# 3、删除容器
docker rm gitlab

# 4、启动容器(这边要等待5-10分钟)
docker run -d -p 8804:8804 -p 222:22 --name gitlab --restart always -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab -v /usr/local/gitlab/backup:/opt/gitlab_backup gitlab/gitlab-ce:13.1.11-ce.0

# 5、打开gitlab测试

13.8.8 - 14.0.12

都是重复以上1-5步操作

14.3.6

#在升级完14.0.12版本后进入docker容器
docker exec -it gitlab /bin/bash

#执行以下两行内容(否则会报错:Expected batched background migration for the given configuration to be marked as 'finished', but it is 'active')
gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,push_event_payloads,event_id,'[["event_id"]\, ["event_id_convert_to_bigint"]]']

gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_stages,id,'[["id"]\, ["id_convert_to_bigint"]]']

tips:
docker logs 可查看容器内日志

14.9.5 - 16.1.6

重复13.1.11的升级过程

以下是我升级过程的截图,最后感谢这片帖子的作者:https://www.cnblogs.com/xiao987334176/p/15584309.html
各位好运!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关推荐

  1. gitlab root密码

    2024-01-25 11:48:04       42 阅读
  2. Oracle system用户密码

    2024-01-25 11:48:04       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-25 11:48:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-25 11:48:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-25 11:48:04       87 阅读
  4. Python语言-面向对象

    2024-01-25 11:48:04       96 阅读

热门阅读

  1. 安卓MediaRecorder(4)视频采集编码写入详细源码分析

    2024-01-25 11:48:04       68 阅读
  2. Jenkins相关

    2024-01-25 11:48:04       58 阅读
  3. android:excludeFromRecents

    2024-01-25 11:48:04       41 阅读
  4. c# 策略模式

    2024-01-25 11:48:04       60 阅读
  5. 为什么需要数据仓库

    2024-01-25 11:48:04       60 阅读
  6. 《设计模式的艺术》笔记 - 策略模式

    2024-01-25 11:48:04       53 阅读
  7. Linux用户和权限

    2024-01-25 11:48:04       53 阅读
  8. 服务器反复自动重启/死机的原因

    2024-01-25 11:48:04       59 阅读
  9. centos 离线安装yum

    2024-01-25 11:48:04       50 阅读
  10. 1.3编程基础之算术表达式与顺序执行

    2024-01-25 11:48:04       45 阅读
  11. 大数据之 spark 算子

    2024-01-25 11:48:04       56 阅读