GitLab 发布安全补丁版本 17.3.2, 17.2.5, 17.1.7

本分分享极狐GitLab 补丁版本 17.4.2, 17.3.5, 17.2.9 的详细内容。这几个版本包含重要的缺陷和安全修复代码,我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLab SaaS,技术团队已经进行了升级,无需用户采取任何措施。

极狐GitLab 正式推出面向 GitLab 老旧版本免费用户的专业升级服务,为 GitLab 老旧版本进行专业升级,详情可以查看官网 GitLab 专业升级服务指南https://dl.gitlab.cn/et1zcbjj】

漏洞详情

标题 严重等级 CVE ID
以停止操作作业的拥有者身份执行环境停止操作 严重 CVE-2024-6678
防止在产品分析漏洞 YAML 中进行代码注入 高危 CVE-2024-8640
通过依赖项代理进行 SSRF 攻击 高危 CVE-2024-8635
通过发送特定 POST 请求导致的 DoS 攻击 高危 CVE-2024-8124
CI_JOB_TOKEN 可以被用来获取 GitLab 会话令牌 中等 CVE-2024-8641
包含模板的情况下,设置中的变量不会被 PEP 覆盖 中等 CVE-2024-8311
访客可以通过自定义群组模板泄露整个源代码仓库 中等 CVE-2024-4660
在 repo/tree/:id 端点中的开放重定向可能导致通过受损的OAuth流程进行账户接管 中等 CVE-2024-4283
在发布永久链接中存在的开放重定向问题可能导致通过受损的OAuth流程进行账户接管 中等 CVE-2024-4612
具有管理群组成员权限的访客用户可以编辑自定义角色来获得其他权限 中等 CVE-2024-8631
通过滥用按需 DAST,泄露受保护和被掩盖的 CI/CD 变量 中等 CVE-2024-2743
当仓库镜像失败会泄露凭据信息 中等 CVE-2024-5435
访客用户可以通过版本原子端点查看代码提交信息 中等 CVE-2024-6389
依赖代理凭据在 graphql 日志中以明文形式记录 中等 CVE-2024-4472
用户应用程序可以伪造重定向 URL CVE-2024-6446
群组开发者可以查看群组 Runner 信息 CVE-2024-6685

CVE-2024-6678

在该漏洞下,攻击者可以以停止操作作业的拥有者身份执行环境停止操作。影响从 8.14 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个严重级别的安全问题(CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, 9.9)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-6678。

CVE-2024-8640

在该漏洞下,由于输入过滤不完全,可以通过连接的Cube服务器注入命令,从而形成攻击。影响从 16.11 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个严重级别的安全问题(CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N, 8.5https://gitlab-com.gitlab.io/gl-security/product-security/appsec/cvss-calculator/explain#explain=CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-8640。

CVE-2024-8635

在该漏洞下,攻击者可能通过使用自定义的 Maven 依赖代理 URL 来向内部资源发送请求。影响从 16.8 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个严重级别的安全问题(CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N, 7.7https://gitlab-com.gitlab.io/gl-security/product-security/appsec/cvss-calculator/explain#explain=CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-8635。

CVE-2024-8124

在该漏洞下,攻击者可能通过发送特定的 POST 请求来引起 DoS 攻击。影响从 16.4 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个严重级别的安全问题(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5https://gitlab-com.gitlab.io/gl-security/product-security/appsec/cvss-calculator/explain#explain=CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-8124。

CVE-2024-8641

在该漏洞下,攻击者可以通过受害者的 CI_JOB_TOKEN 来获取属于受害者的 GitLab 会话令牌。影响从 13.7 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个严重级别的安全问题(CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:L, 6.7https://gitlab-com.gitlab.io/gl-security/product-security/appsec/cvss-calculator/explain#explain=CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-8641。

CVE-2024-8311

在该漏洞下,授权用户可以通过包含 CI/CD 模板来绕过变量覆盖保护。影响从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个严重级别的安全问题(CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N, 6.5)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-8311。

CVE-2024-4660

在该漏洞下,访客可以通过使用群组模板来读取私有项目的源代码。影响从 11.2 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个严重级别的安全问题(CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, 6.5)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-4660。

CVE-2024-4283

在该漏洞下,在 repo/tree/:id中打开重定向可能导致账户被受损的 OAuth 工作流所接管。影响从 11.1 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个中等级别的安全问题(CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N, 6.4)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-4283。

CVE-2024-4612

在该漏洞下,特定情况下打开重定向漏洞可能允许账户被受损的 OAuth 工作流所接管。影响从 12.9 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个中等级别的安全问题(CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N, 6.4)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-4612。

CVE-2024-8631

在该漏洞下,被分配了管理员组成员自定义角色的用户可能已经提升了他们的权限,包括其他自定义角色。影响从 16.6 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个中等级别的安全问题(CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:N, 5.5)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-8631。

CVE-2024-2743

在该漏洞下,攻击者可以在没有权限的条件下对按需 DAST 进行修改进而造成变量泄露。影响从 13.3 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个中等级别的安全问题(CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N, 5.3)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-2743。

CVE-2024-5435

在该漏洞下,用户密码可能从仓库镜像配置中被泄露出去。影响从 15.10 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个中等级别的安全问题(CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N, 4.5)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-5435。

CVE-20240-6389

在该漏洞下,作为访客用户的攻击者能够通过发布Atom端点访问提交信息,这违反了权限设置。影响从 17.0 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个中等级别的安全问题(CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, 4.3)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-6389。

CVE-20240-4472

在该漏洞下,graphql 日志中的依赖代理凭据是以明文形式记录的。影响从 16.5 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个中等级别的安全问题(CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N, 4.0)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-4472。

CVE-2024-6446

在该漏洞下,一个精心伪造的 URL 可以被用来对受害者进行欺骗,以便让其相信被攻击者控制的应用程序。影响从 17.1 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个低级别的安全问题(CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N, 3.5)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-6446。

CVE-2024-6685

在该漏洞下,群组 Runner 信息可能会被泄露给非授权的群组成员。影响从 16.7 开始到 17.1.7 之前的所有版本、从 17.2 开始到 17.2.5 之前的所有版本以及从 17.3 开始到 17.3.2 之前的所有版本 。这是一个低级别的安全问题(CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N, 3.1)。现在这个问题在最新版本中已经得到了修复,同时被分配为 CVE-2024-6685。

受影响版本

CVE-2024-6678

  • 8.14 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-8640

  • 16.11 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-8635

  • 16.8 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-8124

  • 16.4 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-8641

  • 13.7 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-8311

  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-4660

  • 11.2 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-4283

  • 11.1 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-4612

  • 12.9 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-8631

  • 16.6 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-2743

  • 13.3 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-5435

  • 15.10 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-6389

  • 17.0 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-4472

  • 16.5 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-6446

  • 17.1 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

CVE-2024-6685

  • 16.7 <= GitLab CE/EE/JH < 17.1.7
  • 17.2 <= GitLab CE/EE/JH < 17.2.5
  • 17.3 <= GitLab CE/EE/JH < 17.3.2

建议的操作

我们强烈建议所有受以下问题描述所影响的安装实例尽快升级到最新版本。当没有指明产品部署类型的时候(omnibus、源代码、helm chart 等),意味着所有的类型都有影响。

对于GitLab/极狐GitLab 私有化部署版的用户,通过将原有的GitLab CE/EE/JH升级至极狐GitLab 17.3.2-jh、17.2.5-jh、17.1.7-jh 版本即可修复该漏洞。详情可以查看极狐GitLab 官网

Omnibus 安装

使用 Omnibus 安装部署的实例,升级详情可以查看极狐GitLab 安装包安装升级文档。

Docker 安装

使用 Docker 安装部署的实例,可使用如下三个容器镜像将产品升级到上述三个版本:

registry.gitlab.cn/omnibus/gitlab-jh:17.3.2-jh.0
registry.gitlab.cn/omnibus/gitlab-jh:17.2.5-jh.0
registry.gitlab.cn/omnibus/gitlab-jh:17.1.7-jh.0

升级详情可以查看极狐GitLab Docker 安装升级文档。

Helm Chart 安装

使用云原生安装的实例,可将使用的 Helm Chart 升级到 8.4.1(对应 17.4.1-jh)、8.3.4(对应 17.3.4-jh)、8.2.8(对应 17.2.8-jh)、8.0.8(对应 17.0.8)以及 7.11.10(对应 16.11.10)来修复该漏洞。升级详情可以查看 Helm Chart 安装升级文档。

JH 版本 17.3.2 17.2.5 17.1.7
Chart 版本 8.3.2 8.2.5 8.1.7

对于SaaS用户(jihulab.com),无需进行任何操作,我们已经升级SaaS以修复该漏洞。

极狐GitLab 技术支持

极狐GitLab 技术支持团队对付费客户GitLab(基础版/专业版)提供全面的技术支持,您可以通过https://support.gitlab.cn/#/portal/myticket 将问题提交。

如果您是免费用户,需要升级服务,可以查看极狐GitLab 正式推出的 GitLab 专业升级服务

新版本修复的缺陷

17.3.2

  • UBI:将 openssl gem 版本限制回溯到 17-3-stable
  • 回溯 "禁用 release-environments 管道的 allow_failure"
  • 修复在 RTE 中调整图像大小时的问题
  • 通过 API 列出项目的问题修复回溯
  • 将滑动列表策略的锁定重试超时回溯到 17-3
  • 回溯归档过滤器回归错误修复
  • 确保在更新访问数据时更新 updated_at
  • 将 OpenSSL v3 调用回溯到 17.3
  • 隔离 pypi 包注册表规范
  • 修复当 GITLAB_LOG_LEVEL 设置为 debug 时 Sidekiq 崩溃的问题
  • [17.3 回溯] 将 OpenSSL 升级到 3.2.0 版本
  • 回溯——17.3:在初始化时移除对Elasticsearch的调用
  • 将 OpenSSL 降到 1.1.1 版本
  • [17.3回溯]:启用 CentOS 7

17.2.5

  • 回溯 "禁用 release-environments 管道的 allow_failure" 设置
  • 标记时始终构建资产镜像
  • 更新 google-cloud-core 和 google-cloud-env gems
  • 回溯到 17.2:修复 Geo 复制详细信息错误地为空的问题
  • 将 OpenSSL v3 调用回溯到 17.2
  • 回溯到 17.2:修复 JobArtifactState 查询超时问题
  • CI:在发布前添加基本包功能测试(17.2 回溯)
  • 使用最新的构建器镜像进行 check-packages 管道(17.2 回溯)
  • [17.2 回溯] 弃用 CentOS 7

17.1.7

  • 回溯 "禁用 release-environments 管道的 allow_failure" 设置
  • 回溯到 17.1:修复 Geo 复制详细信息视图的问题
  • 将 OpenSSL v3 调用回溯到 17.1
  • 回溯到 17.1:修复 JobArtifactState 查询超时问题
  • CI:在发布前添加基本包功能测试(17.1 回溯)
  • 使用最新的构建器镜像进行 check-packages 管道(17.1 回溯)
  • [17.1 回溯] 弃用 CentOS 7