緊急性の高いセキュリティアップデートなので必ずアップデートしましょう。
以下上の雑訳。
Git for Windows v2.50.0(2) (2025年7月1日) 以降の変更点
これはセキュリティ修正リリースで、CVE-2024-50349、CVE-2024-52006、CVE-2025-27613、CVE-2025-27614、 CVE-2025-46334、CVE-2025-46835、CVE-2025-48384、CVE-2025-48385、および CVE-2025-48386 を修正しています。
新機能
- Git v2.50.1 が含まれています。
バグ修正
- CVE-2025-27613, Gitk: ユーザーが信頼できないリポジトリをクローンし、追加のコマンド引数なしでGitkを実行した場合、任意の書き込み可能なファイルが作成され、切り詰められる可能性があります。オプション「Support per-file encoding」が有効になっている必要があります。このオプションの有効/無効に関わらず、「Show origin of this line」操作も影響を受けます。
- CVE-2025-27614, Gitk: Git リポジトリを特定の構造で作成することで、リポジトリをクローンしたユーザーが攻撃者が提供するスクリプトを実行させられる可能性があります。
gitk filename
を実行する際、filename
に特定の構造が設定されている場合です。 - CVE-2025-46334, Git GUI (Windows のみ): 悪意のあるリポジトリが sh.exe や astextplain などの典型的なテキスト変換フィルタープログラムのバージョンを配布できます。Windows では、パス検索がワークツリー内のこのような実行可能ファイルを検出します。ユーザーがメニューから「Git Bash」または「ファイルを閲覧」を選択すると、これらのプログラムが実行されます。
- CVE-2025-46835, Git GUI: ユーザーが信頼できないリポジトリをクローンし、リポジトリ内の悪意のある名前が付いたディレクトリ内のファイルを編集するように騙された場合、Git GUIは任意の書き込み可能なファイルを作成して上書きできます。
- CVE-2025-48384, Git: 設定値を読み込む際、Gitは末尾のキャリッジリターンとラインフィード(CRLF)を削除します。設定エントリを書き込む際、末尾にCRが付いた値は引用符で囲まれないため、設定が後で読み込まれる際にCRが失われます。サブモジュールを初期化する際、サブモジュールのパスに末尾にCRが付いている場合、変更されたパスが読み込まれ、サブモジュールが誤った場所にチェックアウトされる可能性があります。変更されたパスがサブモジュールのフックディレクトリを指すシンボリックリンクが存在し、サブモジュールに実行可能なチェックアウト後フックが含まれる場合、チェックアウト後にスクリプトが意図せず実行される可能性があります。
- CVE-2025-48385, Git: リポジトリをクローンする際、Gitはリモートサーバーが広告するバンドルをオプションで取得します。これにより、サーバー側はクローンの一部をCDNにオフロードできます。Gitクライアントは広告されたバンドルの十分な検証を行わないため、リモート側がプロトコルインジェクションを実行可能です。このプロトコルインジェクションにより、クライアントが取得したバンドルを攻撃者が制御する場所に書き込む可能性があります。取得したコンテンツはサーバーが完全に制御するため、最悪の場合、任意のコード実行を引き起こす可能性があります。
- CVE-2025-48386, Git: wincred クレデンシャルヘルパーは、内部ストレージとの比較用に一意のキーとして静的バッファ(
target
)を使用しています。このクレデンシャルヘルパーは、wcsncat()
でバッファに追加する前に、バッファの残りの可用領域を適切に境界チェックしていないため、バッファオーバーフローの可能性があります。
コメント