2017年8月28日月曜日

Gitの脆弱性 ( CVE-2017-1000117 ) CentOS yum update

CentOSのyumで最新版のGitをインストールして、Gitの脆弱性 ( CVE-2017-1000117 ) を解決します。
IUSリポジトリを利用して、Gitの最新バージョンをインストールする方法と、公式パッケージのセキュリティアップデート版をインストールする方法の、2通りがあります。
以下、Gitの脆弱性の概要です。
gitクライアント上での任意のコマンド実行の可能性 重要度 - Important
Gitでの"ssh"URLハンドリングにshellコマンドインジェクションの欠陥が見つかりました。
これを利用して、悪意のあるレポジトリや悪意のあるコミットを行われたをレポジトリに対して"clone"アクションをGitクライアントで実行した際に、Gitクライアントを実行したユーザの権限でshellコマンドを実行される可能性が有ります。
https://oss.sios.com/security/git-security-vulnerabiltiy-20170813

IUSリポジトリを利用する場合
https://ius.io/GettingStarted/
Gitの最新バージョンを提供しています。

IUSリポジトリを設定
CentOS 6
# rpm -Uvh https://centos6.iuscommunity.org/ius-release.rpm
CentOS 7
# rpm -Uvh https://centos7.iuscommunity.org/ius-release.rpm
既存のGitを削除して、IUSリポジトリからGitをインストール。
# yum remove git
# yum --enablerepo=ius install git2u
# git --version
git version 2.14.1


CentOS公式アップデートを利用する場合
https://lists.centos.org/pipermail/centos-announce/2017-August/022519.html
2017/8/17に、CentOS公式がCentOS 6向けのアップデートパッケージを発表しています。Gitのバージョンは1.7.1のセキュリティアップデートになります。

サーバにインストールされているGitバージョンを確認。古いバージョンだった。
# yum list installed | grep git.x86_64
git.x86_64                         1.7.1-4.el6_7.1                  @base
アップデートをかける。
# yum update git
バージョンが更新されていることを確認。
# yum list installed | grep git.x86_64
git.x86_64                         1.7.1-9.el6_9                    @updates