Gitプロジェクトは、6件の脆弱性に対処するセキュリティアップデートを公開しました。これらの脆弱性を悪用されると、Gitが悪意のあるリポジトリや特別に細工された入力を処理する際に、攻撃者にコードを実行されたり、意図しないファイルへ書き込まれたり、メモリ破損を引き起こされたりするおそれがあります。

クローン時のコード実行
CVE-2026-111760として追跡されている脆弱性は、Gitのインデックス処理における整数の切り捨てに起因します。極端に長いファイルパスが、ある名前ではGitの安全性チェックを通過し、その後、より短い名前で書き込まれる可能性があります。
攻撃者はこの不整合を突くことで、サブモジュールの.gitファイルを、悪意のある設定やフックを含むディレクトリを指すシンボリックリンクに置き換えられます。その結果、再帰的クローンの実行中に、攻撃者が制御するコードが実行される可能性があります。修正では、長さが切り捨てられる前に、長すぎるインデックスパスを拒否するようにしました。
そのほか5件の脆弱性
v2プロトコルで空のリポジトリをクローンする際、Gitはサーバーが通知するHEADシンボリックリファレンスの参照先を検証していませんでした。そのため、悪意のあるサーバーがパストラバーサルの要素を使い、filesリファレンスバックエンドによる後続のブランチ更新で、本来のリファレンス用ディレクトリの外側へ書き込ませることができました。Gitは現在、この参照先に加え、プロトコルv2経由で受け取るその他のリファレンス名やシンボリックリファレンスの参照先も検証しています。これにより、CVE-2026-113408として特定された脆弱性が解消されます。
GitのGPG署名を取り除くコードは、1つのメッセージに含まれる署名が最大2つであると想定していました。署名がそれ以上含まれるように細工されたメッセージでは、固定サイズのスタック配列があふれ、メモリ破損やクラッシュを引き起こす可能性があります。たとえば、細工されたタグをマージする際などに発生します。CVE-2026-114467のアドバイザリによると、ユーザーに代わってマージを実行するホスティングサービスは影響を受けるおそれがあります。
CVE-2026-114469はバイナリパッチに関する脆弱性です。Gitにはパッチサイズを約1GiBに制限する仕組みがありますが、チェックされるのは提供されたままの状態のパッチサイズだけでした。そのため、小さなパッチでもデコード時に上限を超えて展開され、境界外読み取りとクラッシュを引き起こす可能性がありました。Gitは現在、処理に入る前に、宣言された展開後のサイズも確認します。
CVE-2026-105437はGitのマージ処理に影響します。非常に大きな結果が生じる場合、たとえば多数のコンフリクトと大きなconflict-marker-size属性が組み合わさると、メモリサイズの計算がオーバーフローすることがあります。その結果、Gitが小さすぎるバッファを割り当ててしまい、ヒープメモリを破損させる可能性があります。ローカルでのマージと、信頼できないコンテンツをマージするサービスの両方が影響を受けます。
6件目の脆弱性CVE-2026-114466は、git fast-importに影響します。信頼できない入力ストリーム経由で渡される場合に、3つの機能で安全対策が欠けていました。サブモジュールを書き換える2つのオプションは任意のファイルを読み取れるため、エラーメッセージを通じて内容が漏えいするおそれがあります。残る1つはファイルの作成や追記が可能でした。呼び出し元が安全でない機能を明示的に許可しない限り、入力ストリーム経由で渡されたこれらの機能は拒否されます。GitHubは、ストリームを生成するプログラムが信頼できる場合にのみ、このオプションを有効にするよう推奨しています。
GitHubの対応
修正パッチはGit 2.56.1で提供されます。2.55.1、2.54.1、2.53.1、2.52.1、2.51.3、2.50.2の各系列にもバックポートされています。メンテナーは、2.56.1か、使用中の系列の修正済みリリースにアップデートするよう推奨しています。あわせて、独自のGitを同梱しているソフトウェアもアップデートするよう呼びかけています。
GitHubは、github.com、GitHub Enterprise Cloud、およびデータレジデンシー対応のGitHub Enterprise Cloudで修正を展開済みだと明らかにしました。
GitHub Enterprise Serverの管理者は、バージョン3.19.15、3.20.11、3.21.9、3.22.4のいずれかへ速やかにアップグレードするよう推奨されています。修正済みのGitビルドは、GitHub DesktopとGitHub Copilotアプリ向けに調整が進められており、GitHub CodespacesとGitHub Actionsにも提供される予定です。
ユーザーが取るべき対応
ユーザーは、使用しているオペレーティングシステムまたはGitのディストリビューターから、修正済みのGitをインストールしてください。管理者は、他者に代わってリポジトリを処理する自動化の仕組みやサービスのGitも、あわせてアップデートする必要があります。
GitHubのStaff Software EngineerであるElijah Newrenは、次のように述べています。「すぐにアップデートできない場合は、信頼できるサーバーからのみクローンし、信頼できないリポジトリの再帰的クローンは避けてください。信頼できないコンテンツやタグのマージ、信頼できない発信元のバイナリパッチやfast-importストリームの処理も避けてください。ただし、こうした対策は修正のインストールに代わるものではありません」
翻訳元: https://www.helpnetsecurity.com/2026/11/11/git-project-security-updates/