GitHub 曝出漏洞,或导致 4000 多个存储库遭受劫持攻击

2023-09-13 16:48:39

The Hacker News 网站披露,安全研究员发现 GitHub 中存在一个新安全漏洞,该漏洞可能导致数千个存储库面临劫持攻击的风险。据悉,在 2023 年 3 月 1 日漏洞披露后,微软旗下的代码托管平台已于 2023 年 9 月 1 日解决了安全漏洞问题。

1694575840_65012ce04a83fe19e8bad.png!small

Checkmarx 安全研究员 Elad Rapoport 在与 The Hacker News 分享的一份技术报告中指出,漏洞问题影响深远,一旦网络攻击者成功利用安全漏洞,便可以劫持使用 Go、PHP 和 Swift 等语言的 4000 多个代码包以及 GitHub 操作,从而影响开源社区的安全。

repocapping 是存储库劫持(repository hijacking)的简称,是一种威胁攻击者能够绕过一种流行的存储库命名空间退役的安全机制并最终控制存储库的技术。(该保护措施的作用是防止其他用户在重命名其用户帐户时创建与包含 100 个以上克隆的存储库同名的存储库。)换句话说,用户名和存储库名称的组合被视为“已退役”状态。

如果这一保障措施被轻易规避,威胁攻击者就可以用相同的用户名创建新账户并上传恶意存储库,从而可能导致软件供应链攻击。

1694575852_65012cec850eeaaacedc4.png!small

Checkmarx 提出的新方法主要利用了创建存储库和重命名用户名之间的潜在竞争条件来实现劫持存储库。具体来说,需要以下步骤:

受害者拥有命名空间 "victim_user/repo

受害者将 "victim_user "重命名为 "renamed_user"

受害者用户/repo "版本库已退役

用户名为 "acker_user "的威胁攻击者同时创建一个名为 "repo "的存储库,并将用户名 "acker_user "重命名为 "victor_user"

最后一步是使用 API 请求创建版本库,并截获重命名请求以更改用户名。

值得一提的是,GitHub 在近九个月前还修补了一个类似的绕过漏洞,该漏洞可能会为劫持攻击打开“方便之门”。

更多推荐

录屏没有声音怎么办,3个方法教你解决

随着科技的不断发展,人们越来越依赖电子设备进行工作和学习。在这个过程中,录屏已经成为了一种必要的技能。无论是手机还是电脑,我们都可以通过录屏来记录重要的信息。但是,有时候我们在录屏时会发现声音无法正常录制,这是一个非常令人头疼的问题。本文将详细介绍录屏没有声音怎么办,帮助大家解决录屏没有声音的问题。手机录屏没有声音方法

C++进阶(二)

目录1、Vector2D默认构造、重载2、char深度理解3、深度理解简单的类操作1、Vector2D默认构造、重载#include<iostream>#include<cmath>classVector2D{private:doublex;//X坐标doubley;//Y坐标public://默认构造函数,将向量初始

这个发表在 Nature Genetics的水稻全基因组关联数据库 RHRD,很赞!!!

历经半个世纪的发展,杂交水稻育种取得了巨大的成就,培育出了大量的高产、优质、适应环境变化的品系。本数据库是一个综合性的杂交水稻数据库(http://ricehybridresource.cemps.ac.cn/#/),涵盖了从1976年至2017年间发布的486个商业杂交水稻品种信息、基因组变异、表型与全基因组关联数据

【Flink实战】Flink自定义的Source 数据源案例-并行度调整结合WebUI

🚀作者:“大数据小禅”🚀文章简介:【Flink实战】玩转Flink里面核心的SourceOperator实战🚀欢迎小伙伴们点赞👍、收藏⭐、留言💬目录导航什么是Flink的并行度Flink自定义的Source数据源案例-并行度调整结合WebUI什么是Flink的并行度Flink的并行度是指在Flink应用程序中

自然语言处理实战项目18-NLP模型训练中的Logits与损失函数的计算应用项目

大家好,我是微学AI,今天给大家介绍一下,自然语言处理实战项目18-NLP模型训练中的Logits与损失函数的计算应用项目,在NLP模型训练中,Logits常用于计算损失函数并进行优化。损失函数的计算是用来衡量模型预测结果与真实标签之间的差异,从而指导模型参数的更新。Logits是模型在分类任务中的输出,在经过Soft

【程序员接口干货】热门免费的api接口大全

企业基本信息API:通过公司名称/公司ID/注册号或社会统一信用代码获取企业基本信息,企业基本信息包括公司名称或ID、类型、成立日期、经营状态、注册资本、法人、工商注册号、统一社会信用代码、组织机构代码、纳税人识别号等字段信息。企业联系方式查询API:通过公司名称、公司ID、注册号或社统一信用代码获取企业联系方式信息,

STM32WB55开发(4)----配置串口打印Debug调试信息

STM32WB55开发----4.配置串口打印Debug调试信息概述硬件准备视频教学样品申请源码下载选择芯片型号配置时钟源配置时钟树RTC时钟配置查看开启STM32_WPAN条件配置HSEM配置IPCC配置RTC启动RF开启蓝牙开启串口调试配置蓝牙参数设置工程信息工程文件设置Keil工程配置代码配置结果演示概述在STM

STM32WB55开发(2)----修改蓝牙地址

STM32WB55开发----2.修改蓝牙地址概述硬件准备视频教学样品申请完整代码下载选择芯片型号配置时钟源配置时钟树RTC时钟配置查看开启STM32_WPAN条件配置HSEM配置IPCC配置RTC启动RF开启蓝牙设置工程信息工程文件设置修改置BLE设备公共地址Ble_Hci_Gap_Gatt_Init结果演示概述在嵌

【STM32】驱动库的选择:CMSIS Driver、SPL、HAL、LL | 在ARM MDK、STM32Cube中如何选择?

阅读本专栏其他文章,有助于理解本文。👆文章目录一、开发库选择1.1概述1.2CMSISpack1.3SPL库1.4HAL库1.5LL库1.6寄存器开发二、代码对比2.1使用寄存器2.2使用CMSIS库2.3使用SPL库2.4使用HAL库2.5使用LL库2.6使用RTOS三、如何在软件中选择不同的库3.1ARMMDK3

Spring Boot自动装配原理

简介SpringBoot是一个开源的Java框架,旨在简化Spring应用程序的搭建和开发。它通过自动装配的机制,大大减少了繁琐的配置工作,提高了开发效率。本文将深入探讨SpringBoot的自动装配原理。自动装配的概述在传统的Spring框架中,我们需要手动配置各种组件和依赖关系。而SpringBoot则通过自动扫描

基于微信小程序的高校就业招聘系统设计与实现(源码+lw+部署文档+讲解等)

前言💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗👇🏻精彩专栏推荐订阅👇🏻2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选

热文推荐