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在升级版本方面还是比较方便的

bash 复制代码
# 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

bash 复制代码
#在升级完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

各位好运!










相关推荐
A ?Charis11 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
秋说18 小时前
开源代码管理平台Gitlab如何本地化部署并实现公网环境远程访问私有仓库
gitlab·源代码管理
极小狐1 天前
驭码上新,AI Code Review、基于代码库的知识问答,让研发起飞
gitlab·devsecops·devops·极狐gitlab·安全合规
蚊子不吸吸1 天前
DevOps开发运维简述
linux·运维·ci/cd·oracle·kubernetes·gitlab·devops
花开莫与流年错_5 天前
GitLab代码仓管理安装配置使用
运维·服务器·git·gitlab·配置·代码仓
极小狐7 天前
如何打开/关闭 GitLab 的版本检查功能?
gitlab·devsecops·devops·极狐gitlab·安全合规
玉石俱焚ing8 天前
ubuntu20上部署gitlab并开启ipv6访问
运维·gitlab
謬熙8 天前
GitHub、Gitee、GitLab介绍
gitee·gitlab·github
云围9 天前
Soanrquber集成Gitlab 之 导入Gitlab项目
运维·ci/cd·gitlab·devops
云围9 天前
Soanrquber集成Gitlab 之 gitlab用户配置和身份验证
ci/cd·gitlab·github·devops