极狐GitLab 重要安全版本:17.3.3, 17.2.7, 17.1.8, 17.0.8, 16.11.10

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。

学习极狐GitLab 的相关资料:

  1. 极狐GitLab 官网
  2. 极狐GitLab 官网文档
  3. 极狐GitLab 论坛
  4. 极狐GitLab 安装配置

本分分享更多关于极狐GitLab 重要安全版本 17.3.3, 17.2.7, 17.1.8, 17.0.8, 16.11.10 的详情内容。

在这里插入图片描述

今天我们正式发布了极狐GitLab 17.3.3, 17.2.7, 17.1.8, 17.0.8, 16.11.10 版本。该版本包含了重要的缺陷和安全修复,我们强烈建议所有的私有化部署用户应立即升级到上述推荐的某一个版本。对于极狐GitLab SaaS(JihuLab.com)来讲,专业的技术团队已经进行了升级。

建议操作

我们强烈建议所有运行以下描述问题所影响的版本应尽快升级到最新版本。

如果没有指明极狐GitLab 特定的部署类型(ominbus、源代码、helm chart 等),那也就意味着所有的类型都受影响。

安全修复

安全修复表

标题严重性
SAML 认证绕过严重

SAML 认证绕过(SAML authentication bypass)漏洞是由 Ruby SAML 库引起的,对应的漏洞 ID为 CVE-2024-45409。将依赖 omniauth-saml升级到 2.2.1、ruby-saml升级到 1.17.0就能够
减轻 CVE-2024-45409 漏洞带来的安全危害。

私有化部署版本:已知的缓解措施

以下针对私有化部署的减缓措施能够成功避免实例受到 CVE-2024-45409 漏洞带来的攻击:

  1. 为极狐GitLab 私有化部署实例上的所有用户开启双因素认证(注意:开启身份识别供应商提供的多因素认证并不能减缓该漏洞带来的安全危害)以及
  2. 不允许在极狐GitLab 中使用 SAML 双因素认证绕过选项
私有化部署实例:识别和检测该漏洞的利用尝试

尝试或成功利用 Ruby-SAML (CVE-2024-45409) 的证据将出现在 GitLab 的 application_json 和 auth_json 日志文件中。

未成功的利用尝试——捕获

未成功的利用尝试可能会从 RubySaml库产生一个 ValidationError信息。这可能是由于构造一个有效利用程序的复杂性所导致的各种原因。

下面展示了两个示例,但是错误可能以其他描述的形式出现,要在 application_json 日志文件中搜索常见的字符串 RubySaml::ValidationError。

  1. 由于不正确的回调 URL 而导致票据(ticket)无效;
    a. 日志事件示例:
    b. {"severity":"ERROR","time":"2024-xx-xx","correlation_id":"xx","message":"(saml) Authentication failure! invalid_ticket: OneLogin::RubySaml::ValidationError, The response was received at https://domain.com/users/auth/saml/incorrect_callback instead of https://domain.com/users/auth/saml/callback"}
  2. 由于证书签名问题而导致的票据(ticket)无效;
    a. 日志事件示例
    b. "message":"(saml) Authentication failure! invalid_ticket: OneLogin::RubySaml::ValidationError, Fingerprint mismatch"
成功的利用尝试——捕获

成功地利用尝试将会触发与 SAML 相关的日志事件。然而,要将正常合法的 SAML 认证事件和漏洞利用尝试成功的事件区别开来是非常有难度的。

成功的利用尝试将记录攻击者在尝试利用时设置的任何 extern_id 值。因此,识别一个在你的组织中不常见的唯一 extern_uid 可能是潜在利用的指示信号。

  1. 在 application_json 日志文件中的示例利用认证事件,其中 extern_id 在利用 PoC 代码中被设置:
    a. 日志事件
    b. {"severity":"INFO","time":"2024-xx-xx","correlation_id":"xx","meta.caller_id":"OmniauthCallbacksController#saml","meta.remote_ip":"0.0.0.0","meta.feature_category":"system_access","meta.client_id":"ip/0.0.0.0","message":"(SAML) saving user exploit-test-user@domain.com from login with admin =\\u003e false, extern_uid =\\u003e exploit-test-user"}

在构造利用程序时,攻击者需要制作许多 SAML 断言以完美复制合法登录。这些断言包括你在身份提供者(IdP)处指定的密钥和值字段,且这些字段可能对未经授权的人员未知——尤其是当你自定义了这些属性时。

你可以查看 auth_json 日志文件,以查找属性部分中信息不正确或缺失的 SAML 响应。

  1. 在 auth_json 日志文件中的 SAML authentication 事件示例
    a. "severity":"INFO","time":"2024-xx-xx","correlation_id":"xx","meta.caller_id":"OmniauthCallbacksController#saml","meta.remote_ip":"0.0.0.0","meta.feature_category":"system_access","meta.client_id":"ip/0.0.0.0","payload_type":"saml_response": {"issuer": ["xxx"],"name_id": "xxx","name_id_format": "xxx","name_id_spnamequalifier": null,"name_id_namequalifier": null,"destination": "xxx","audiences": ["xxx"],"attributes": {"first_name": ["xxx"],"last_name": ["yyy"], "email": ["zzz"]}}

对于私有化部署的客户,可以将极狐GitLab 的 application_json 日志转发到 SIEM,可以创建检测规则以识别 Ruby-SAML (CVE-2024-45409) 利用尝试。我们的团队提供了两条用 Sigma 格式编写的威胁检测规则,以检测潜在的利用行为。

注意:这些检测规则可能需要根据客户的环境进行调整和修改,以提供有效的结果。由于不同客户环境的配置各异,客户应验证这些检测规则识别的事件的合法性和准确性。

一段时间内具有多个唯一 extern_uid 的用户

此检测旨在识别具有多个 extern_uid 值与认证事件相关联的已认证 SAML 用户,这可能是攻击者设置了 extern_uid 字段的恶意认证的潜在迹象。

title: Multiple extern_ids
description: Detects when their are multiple extern_id's associated with a user. 
author: Gitlab Security Engineering
date: 09/15/2024
schedule: "*/10 * * * *"
pseudocode: |select log source application.logwhere 7d < event_time < now()where severity="INFO" and meta_caller_id="Groups::OmniauthCallbacksController#group_saml"regex(message, "saving user (?<user_email>\S+) .*extern_uid \S+ (?<extern_id>[\S]+)")count extern_id by user_email as total_extern_idswhere total_extern_ids > 1
verify: Review Gitlab application logs for the source IP of the SAML authentications. If there is a singular IP for all extern_ids this could point to a false positive. Cross reference the SAML authentication source IP/s with the known user's IP from sso authentication logs. 
tuning: N/A
在一段时间内,同一用户的 GitLab SAML 认证与其他身份提供者(IdP)事件的 IP 地址不同

此检测旨在关联用户的认证事件,比较 GitLab SAML 认证事件与其他身份提供者(IdP)的认证事件,以识别用户 IP 地址的任何变化,这可能是攻击者认证会话的迹象。

title: Gitlab SAML IP differs from SSO IP
description: Detects when the source IP for the SAML authentication to Gitlab from application.log differs from the users known IP from SSO MFA logs. 
author: Gitlab Security Engineering
date: 09/15/2024
schedule: "*/10 * * * *"
pseudocode: |select log source application.log where severity="INFO" and meta_caller_id="Groups::OmniauthCallbacksController#group_saml"regex(message, "saving user (?<user_email>\S+) ")#Create sub-query to bring in table from SSO authentication dataselect meta_remote_ip, user_emailwhere user_email in(select log source authenticationwhere 1d < event_time < now()where event_type="user.authentication.auth_via_mfa"group by user_email, sso_source_ip)where sso_source_ip!=meta_remote_ip
verify: False positives can arise when the user is traveling. Review SSO authentication logs to see if the geo-location is similar to the SAML authentication to Gitlab. If any discrepancies are found, reach out to the user for verification. If the user is not traveling, temporarily lock the user's Gitlab account and review their activity through Gitlab's application logs. 
tuning: If the query is producing high false positives, consider using

修复的缺陷

17.3.3
  • 升级了 OpenSSL 3 的升级告警说明
  • 升级了极狐GitLab 备份命令的 gem bundler
  • 升级了 ruby-saml 和 omniauth-saml
17.2.7
  • 升级了 OpenSSL 3 的升级告警说明
  • 升级了 ruby-saml 和 omniauth-saml
17.1.8
  • 升级了 OpenSSL 3 的升级告警说明
  • 升级了 ruby-saml 和 omniauth-saml
17.0.8
  • 升级了 ruby-saml 和 omniauth-saml
16.11.10
  • 升级了 ruby-saml 和 omniauth-saml

关于极狐GitLab 的安装升级以及 GitLab 升级到极狐GitLab 的详情可以查看官网指南。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/427646.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过logstash同步elasticsearch数据

1 概述 logstash是一个对数据进行抽取、转换、输出的工具&#xff0c;能对接多种数据源和目标数据。本文介绍通过它来同步elasticsearch的数据。 2 环境 实验仅仅需要一台logstash机器和两台elasticsearch机器&#xff08;elasticsearch v7.1.0&#xff09;。本文用docker来模…

css 样式简单学习(一)

目录 1. css 介绍 1.1 css 样式 1.2 css代码风格 1.2.1 书写格式 1.2.2 样式大小写​编辑 1.2.3 空格规范 2. 基础选择器 2.1 选择器的作用​编辑 2.2 选择器的分类 2.3 基础选择器 2.3.1 标签选择器​编辑 2.3.2 类选择器​编辑 2.3.3 类选择器-多类名​编辑 2.…

简单题88. 合并两个有序数组 (Python)20240920

问题描述&#xff1a; python&#xff1a; class Solution(object):def merge(self, nums1, m, nums2, n):""":type nums1: List[int]:type m: int:type nums2: List[int]:type n: int:rtype: None Do not return anything, modify nums1 in-place instead.&qu…

选址模型 | 基于混沌模拟退火粒子群优化算法的电动汽车充电站选址与定容(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于混沌模拟退火粒子群优化算法的电动汽车充电站选址与定容&#xff08;Matlab&#xff09; 问题建模&#xff1a;首先&#xff0c;需要将电动汽车充电站选址与定容问题进行数学建模&#xff0c;确定目标函数和约束…

React18入门教程

React介绍 React由Meta公司开发&#xff0c;是一个用于 构建Web和原生交互界面的库 React的优势 相较于传统基于DOM开发的优势 组件化的开发方式 不错的性能 相较于其它前端框架的优势 丰富的生态 跨平台支持 React的市场情况 全球最流行&#xff0c;大厂必备 开发环境…

【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL24

边沿检测 有一个缓慢变化的1bit信号a&#xff0c;编写一个程序检测a信号的上升沿给出指示信号rise&#xff0c;当a信号出现下降沿时给出指示信号down。 注&#xff1a;rise,down应为单脉冲信号&#xff0c;在相应边沿出现时的下一个时钟为高&#xff0c;之后恢复到0&#xff0…

密集行人数据集 CrowdHumanvoc和yolo两种格式,yolo可以直接使用train val test已经划分好有yolov8训练200轮模型

密集行人数据集 CrowdHuman voc和yolo两种格式&#xff0c;yolo可以直接使用 train val test已经划分好 有yolov8训练200轮模型。 CrowdHuman 密集行人检测数据集 数据集描述 CrowdHuman数据集是一个专为密集行人检测设计的数据集&#xff0c;旨在解决行人密集场景下的检测挑…

关于实时数仓的几点技术分享

一、实时数仓建设背景 业务需求的变化&#xff1a;随着互联网和移动互联网的快速发展&#xff0c;企业的业务需求变得越来越复杂和多样化&#xff0c;对数据处理的速度和质量要求也越来越高。传统的T1数据处理模式已经无法满足企业的需求&#xff0c;实时数据处理成为了一种必…

什么是 IP 地址信誉?5 种改进方法

IP 地址声誉是营销中广泛使用的概念。它衡量 IP 地址的质量&#xff0c;这意味着您的电子邮件进入垃圾邮件或被完全阻止发送的可能性。 由于每个人都使用专用电子邮件提供商而不是直接通过 IP 地址进行通信&#xff0c;因此&#xff0c;这些服务可以跟踪和衡量发件人的行为质量…

表情包创作、取图小程序端(带流量主)

小程序永久免费&#xff0c;无任何广告&#xff0c;无任何违规功能&#xff01; 小程序具备以下功能有&#xff1a; 支持创作者加入 支持在线制作表情包 使用说明 表情包必备工具&#xff0c;一款专属于你的制作表情包工具&#xff0c;斗图必备神器

Linux下进程通信与FIFO操作详解

Linux下进程通信与FIFO操作详解 一、命名管道(FIFO)概述1.1 命名管道的特点1.2 创建命名管道二、命名管道的操作2.1 打开命名管道2.2 读写命名管道2.3 关闭命名管道三、命名管道的使用实例3.1 命名管道的创建和通信过程3.1.1 发送方(writer)3.1.2 接收方(reader)3.2 运行…

python 爬虫 selenium 笔记

todo 阅读并熟悉 Xpath, 这个与 Selenium 密切相关、 selenium selenium 加入无图模式&#xff0c;速度快很多。 from selenium import webdriver from selenium.webdriver.chrome.options import Options# selenium 无图模式&#xff0c;速度快很多。 option Options() o…

Qt/C++事件过滤器与控件响应重写的使用、场景的不同

在Qt/C中&#xff0c;事件过滤器和控件响应重写是两种用于捕获和处理鼠标、键盘等事件的机制&#xff0c;它们的用途和使用场景不同&#xff0c;各有优劣。下面详细介绍它们的区别、各自适用的场景、以及混合使用的场景和注意事项。 1. 事件过滤器&#xff08;Event Filter&…

全能OCR神器GOT-OCR2.0整合包部署教程

项目地址:https://github.com/Ucas-HaoranWei/GOT-OCR2.0 整合包下载&#xff1a;https://pan.quark.cn/s/3757da820e65 显卡建议使用RTX 30以上的 ①先安装NVIDIA显卡驱动&#xff1a; https://www.nvidia.cn/drivers/lookup/ 输入显卡型号搜索就行 ②安装CUDA 工具包 cu…

Django 聚合查询

文章目录 一、聚合查询二、使用步骤1.准备工作2.具体使用3.分组查询&#xff08;annotate&#xff09;1.定义2.使用3.具体案例 4.F() 查询1.定义2.使用 5.Q() 查询1.定义2.查询 一、聚合查询 使用聚合查询前要先从 django.db.models 引入 Avg、Max、Min、Count、Sum&#xff0…

力扣 2529.正整数和负整数的最大计数

文章目录 题目介绍解法 题目介绍 解法 采用红蓝染色体法&#xff0c;具体介绍参考 红蓝染色体法 通过红蓝染色体法可以找到第一个大于大于target的位置&#xff0c;使所以本题可以找第一个大于0的位置&#xff0c;即负整数的个数&#xff1b;数组长度 - 第一个大于1的位置即正…

【踩坑】装了显卡,如何让显示器从主板和显卡HDMI都输出

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 背景介绍 装了显卡后&#xff0c;开机默认是从显卡的HDMI输出&#xff0c;但这很不方便。如何让视频仍然从主板输出&#xff1f;或者说让显卡HDMI和主板…

切线空间:unity中shader切线空间,切线矩阵,TBN矩阵 ,法线贴图深度剖析

unity中shader切线空间 看了网上各种解释&#xff0c;各种推理。直接脑袋大。感觉复杂的高大上。当深入了解后&#xff0c;才发是各种扯淡。 一切从模型法向量开始 在shader中&#xff0c;大部分的光照计算都是与法向量有关。通过法向量和其他向量能计算出模型在光线照射下的…

MyBatis-Plus分页查询、分组查询

目录 准备工作1. 实体类2. Mapper类3. 分页插件4. 数据 分页查询1. 使用条件构造器2. 使用自定义sql 分组查询1. 分组结果类2. 自定义sql3. 测试类 准备工作 1. 实体类 对地址字段address使用字段类型转换器&#xff0c;将List转为字符串数组保存在数据库中 package com.exa…

【CSS Tricks】一种基于AV1视频格式的现代图像格式-AVIF

引言 AV1图像文件格式&#xff08;英语&#xff1a;AV1 Image File Format&#xff0c;简称AVIF&#xff09;是由开放媒体联盟&#xff08;AOM&#xff09;开发&#xff0c;采用AV1视讯编码技术压缩图像的一种图像文件格式&#xff0c;能用来储存一般的图像和动态图像。AVIF和苹…