CygwinにおけるGitの脆弱性を回避する方法


背景

バージョン管理システム「Git」に任意コード実行の脆弱性、修正版が公開
https://forest.watch.impress.co.jp/docs/news/1146869.html
で紹介されているとおり、Git 2.17.0 には脆弱性があるが、Git 2.17.1のCygwin用のパッケージが一向に降ってこないので最新版をソースコードから入れる。
(2019-06-10 頃 Cygwin用の git 2.21.0のパッケージも配布されるようになったようです。)

Git 2.24.0にも脆弱性が発見されたようです。

「Git」に複数の脆弱性、Windowsユーザーはとくに注意
https://forest.watch.impress.co.jp/docs/news/1223826.html

gettext のインストール

cygwin のインストーラーで
gettextとgettext-develのパッケージをインストールする。

cURL のインストール

Gitのhttpsの部分はcURLに依存するため
Cygwin のインストーラーで
curl と libcurl-devel と libcurl4のパッケージをインストールする。

Git 2.27.0 のインストール

ソースコードの入手

https://github.com/git/git/releases
から
git-2.27.0.tar.gz
を入手し
/usr/local/src
に置く

ソースを展開

cd /usr/local/src
tar xvf ./git-2.27.0.tar.gz
cd git-2.27.0

make

make

make install prefix=/usr/local

これで /usr/local/bin に Gitがインストールされるはず。

いったんCygwinを抜けて入りなおす。

バージョン番号の確認

$ git --version
git version 2.27.0

以上