ニュース

「Git 2.35.2」が公開 ~2件の脆弱性を修正【4月14日追記】

マルチユーザー環境、「Git for Windows」を使っている場合は警戒を

「Git for Windows」v2.35.2

 分散型バージョン管理システム「Git」の最新版v2.35.2が、3月12日に公開された。旧バージョンに対するメンテナンスリリース(v2.30.3、v2.31.2、v2.32.1、v2.33.2、v2.34.2)も行われている。

 今回のリリースは、2件の脆弱性に対処したセキュリティアップデート。「GitHub」には影響しないが、「Git for Windows」を利用している場合や、マルチユーザー環境で「Git」を利用している場合は注意が必要だ。

CVE-2022-24765

 マルチユーザー環境で「Git」の作業ディレクトリの上位に「.git」ディレクトリを作成できる場合、悪意あるユーザーが他のリポジトリすべてに指定した設定値を読み込ませることができる。たとえばWindows環境で「C:¥.git¥config」が作成されると、他のユーザーのリポジトリにもその設定値が読み込まれる。一部の設定変数は「Git」に任意のコマンドを実行させることができるため、共有マシン上で作業する際はリスクとなりうる。

 この問題は「Git」がトップレベルの「.git」ディレクトリを探す際、所有者をチェックする処理を加えることで解決されている。「Git 2.35.2」への更新が望ましいが、それが不可能な場合は環境変数「GIT_CEILING_DIRECTORIES」を適切に設定するか、マルチユーザー環境で現在の作業ディレクトリが信頼できるかチェックする必要がある。

CVE-2022-24767(Windowsにのみ影響)

 「Git for Windows」アンインストーラーは一時フォルダーにコピーされてから実行されるが、その一時フォルダーは既定で誰でも書き込み可能となっている。そのため、一時フォルダーに悪意あるDLLを配置しておくと、アンインストーラーが誤ってそれを読み込み、実行してしまう可能性がある。

 この問題は「Git for Windows 2.35.2」で解決されており、アップグレード後であればアンインストーラーの脆弱性が悪用されることはない。アップグレードする前にアンインストールする場合は、一時フォルダーから不審なDLLファイルを削除する、TMP環境変数をシステムユーザーのみが書き込み可能なフォルダーにセットする、管理者アカウントでアンインストーラーを実行するなどの対策が推奨されている。

 「Git for Windows」v2.35.2はWindows Vista以降に対応しており、現在「Git」の公式サイトなどから無償でダウンロード可能。「Visual Studio」などの開発ツールに内蔵されているケースもあるので、そちらのアップグレードも怠らないようにしたい。

[2022年4月14日編集部追記] 4月13日付で、ほかのアプリから呼び出すことを前提とした「Git for Windows」のパッケージ「MinGit for Windows」も、「CVE-2022-24765」を修正したv2.32.1のプレビュー版が公開された。

ソフトウェア情報

「Git for Windows」
【著作権者】
msysgit/git
【対応OS】
Windows Vista以降(編集部にてWindows 10で動作確認)
【ソフト種別】
フリーソフト
【バージョン】
2.35.2(22/04/12)