检测漏洞方法
检测漏洞有两种方法:
1. 通过查看 git 客户端版本
git --version
如果版本低于 2.13.7 肯定存在漏洞
如果版本高于 2.13.7 请比对下面的版本
版本 2.13.x, 小于 2.13.7 则存在漏洞
版本 2.14.x , 小于 2.14.4 则存在漏洞
版本 2.15.x, 小于 2.15.2 则存在漏洞
版本 2.16.x, 小于 2.16.4 则存在漏洞
版本 2.17.x, 小于 2.17.1 则存在漏洞
2. 通过 git 命令检测
- cd /tmp
- git init test && cd test && git update-index --add --cacheinfo 120000,e69de29bb2d1d6434b8b29ae775ad8c2e48c5391,.gitmodules
如果只出现下面的提示, 证明存在漏洞
"Initialized empty Git repository in /tmp/test/.git/"
如果出现下面的提示, 证明漏洞已被修复
- "Initialized empty Git repository in /tmp/test/.git/
- error: Invalid path '.gitmodules'
fatal: git update-index: --cacheinfo cannot add .gitmodules"
修复漏洞方法
1.Mac OS
通过 brew 更新 git
不知道 brew 是什么的请自行搜索
brew install git
如果看到下面的提示, 表示你需要强制更新
"Error: The brew link step did not complete successfully
The formula built, but is not symlinked into /usr/local"
强制更新命令:
brew link --overwrite git`
更新完毕后, 再用上面的方法检测漏洞
如果出现下面的提示, 证明漏洞已被修复!!!
- "Initialized empty Git repository in /tmp/test/.git/
- error: Invalid path '.gitmodules'
fatal: git update-index: --cacheinfo cannot add .gitmodules"
2.CentOS
找了半天, 貌似只能通过源码安装, 如果有人知道如何 yum 安装请私信
- cd /tmp
- wget https://www.kernel.org/pub/software/scm/git/git-2.17.1.tar.gz
- tar zxf git-2.17.1.tar.gz
- cd git-2.17.1
- sudo ./configure
- sudo make
- sudo make install
- 3.Ubuntu
- sudo add-apt-repository ppa:git-core/ppa
- 4.Windows
https://gitforwindows.org/ 可以下载
参考文档
- https://www.edwardthomson.com/blog/upgrading_git_for_cve2018_11235.html
- http://blog.nsfocus.net/cve-2018-11235/
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-11235
来源: http://www.bubuko.com/infodetail-2627030.html