Git開発チームの濱野純氏は4月12日、分散型バージョン管理ツール「Git」の最新版「Git v2.35.2」をリリースしました(Git security vulnerability announced | The GitHub Blog)。脆弱性に対処するためのメンテナンスリリースで、同時にv2.30.3、v2.31.2、v2.32.1、v2.33.2、v2.34.2も公開されています。
メンテナンスリリースは、セキュリティ上の問題を解決するためのもので、詳細はCVE-2022-24765およびCVE-2022-24767で確認可能です。
CVE-2022-24765は、攻撃者が被害者の作業ディレクトリの上位に.gitディレクトリを作成できるマルチユーザーマシンに影響します。例えば、Windowsで攻撃者がc:\.git\configを作成すると、リポジトリ外で実行したすべてのGit操作がその規定値を読み込むようになります。GIT_PS1_SHOWDIRTYSTATE環境変数を設定しているGit Bashユーザーや、posh-gitをインストールしてPowerShellを起動した場合、Visual StudioからGitを使う場合、Microsoft fork版のGitでGit Bashを開始した場合などに影響があるのとこと。
最新版へアップデートするほか、Gitコマンドを実行するすべてのドライブに.gitフォルダを作成し、それらのフォルダから読み取り/書き込みのアクセス権を削除する、GIT_CEILING_DIRECTORIESを定義し、ユーザープロファイルの親ディレクトリをカバーするように設定するといった回避策が存在します。
CVE-2022-24767は、ユーザーの一時ディレクトリで実行されるGit for Windowsのアンインストーラーに存在する脆弱性です。認証されたユーザーであれば誰でも悪意のある.dllファイルを一時ディレクトリに置くことができるというもので、Git for Windows v2.35.2にアップグレードすることで対応可能です。