Git の脆弱性

Git の脆弱性がアナウンスされ、 IT 関連会社さんの多くが目にしていると思います。

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

脆弱性の影響としては

  • 任意のパスが書き換えられたり
  • リモートからコードを実行したり
  • ”.git/” ディレクトリのファイルを上書きされたり

される可能性がある、ということのようです。

対策版にアップデートしよう

今回はすでに対策版がリリースされています。

脆弱性の影響度はどうなの ? みたいな話がありますが、アップデートの手間はそれほどかからないため、サクッとアップデートしてしまうのが良さそうです。

Mac のアップデート方法

私は Mac の Homebrew で Git のアップデートを行いました。

なお、Homebrew の導入は次をご覧ください。

PHPBrew でかんたんに PHP 環境を管理する
MacにPHPBrewを導入してPHPの切り替えができるようにしてみました。
atuweb 開発ブログ

Homebrew で Git をアップデートする

アップデート前の Git バージョンは次でした。

1$ git --version
2git version 2.21.0 (Apple Git-122)

Homebrew をアップデートします。

1$ brew update

次に Git をアップデートします。

1$ brew install git

記事投稿時点で Git 2.24.1 がインストールされました。

1/usr/local/Cellar/git/2.24.1: 1,558 files, 45.5MB

/usr/bin を見ていないか ?

Git のアップデートは終わったのに git --version しても、バージョンが変わらない場合があります。

Mac は Xcode 経由で Git をインストールしますよね。
そのため、標準では /usr/bin/git を見に行っているようです。

今回のように、Homebrew で Git をインストールした場合は /usr/local/bin/git に入るため、パスが合わないのですね。

Homebrew でインストールしたものを見に行くように、 適宜パスを調整してあげてくだささい。


まずは which コマンドで現在読まれているパスを確認します。

1$ which git
2/usr/bin/git

/usr/local/bin 以下を見ていなければ、 ~/.bash_profile あたりに次を追記してあげると良いです。

1export PATH="/usr/local/bin:$PATH"

export を追記したら、次コマンドを打って変更を反映してあげます。

1$ source .bash_profile

さて、パスが変わったかの確認です。

1$ which git
2/usr/local/bin/git

いいですね。

1$ git --version
2git version 2.24.1

いいですね。 OK です。

Windows のアップデート方法

今回の脆弱性は、 Windows 機のほうが影響があるのですよね。

Windows 機が手元にないのですが、Windows での Git アップデート方法は次のようです。

1$ git update-git-for-windows

なお、Git 2.13 より前の場合はインストーラーがないため、公式よりインストーラーをダウンロードし、そのインストーラーからインストールする必要があるようです。

Git > Download
https://git-scm.com/download

サルでもわかるGit入門

大串 肇,アクツ ユミ,一戸 健宏,兼清 慮子,齋木 弘樹,清野 奨,福嶌 隆浩
出版社:インプレス  発売日:2018-09-25

Amazonで詳細を見る