要点
- 開発者の多くが使う Git に、悪意あるリポジトリを複製(クローン)しただけで、手元の PC でコードが動くおそれのある欠陥が見つかった。
- 条件は、サブモジュール(別のリポジトリを部品として取り込む仕組み)ごと再帰的に複製することだ。
- 修正版が出ている。GitHub の発表では、悪用が起きているとの記載はない。
何が起きたか
Git の開発側が修正版を公開し、GitHub が脆弱性の解説を出した。問題は CVE-2026-111760 だ。
GitHub によると、原因は Git のインデックス(管理中のファイルを記録する内部の台帳)の処理にある。数値を小さな型に収めるときに情報が切り捨てられ、とても長いファイルパスが検査をすり抜ける。検査では問題なしとされた名前と、実際にディスクへ書かれる名前が、食い違うわけだ。
GitHub の説明では、この食い違いを悪用すると、サブモジュールの .git ファイルをシンボリックリンク(別の場所を指す近道)にできる。リンク先に悪意ある設定やフック(特定の操作で自動実行される仕掛け)があれば、Git がその後の処理で実行してしまう。
つまり、見た目はふつうのリポジトリでも、git clone --recurse-submodules のような操作で、手元の PC 上でコードが動く可能性がある。GitHub は、再帰的に複製することが条件だと説明している。
GitHub のアドバイザリ(GHSA-vp2w-7xxj-jvxr)は、影響を受ける版を「全版」とのみ記している。修正版は、アドバイザリには書かれていない。発見者の名前と悪用の有無は、確かめた一次情報では示されていなかった。修正版が出た系列(下記)を使っているなら、当たる可能性があると考えておくのが安全だ。
同じ更新では、全部で六件の欠陥が直された。この欠陥のほかに五件ある。GitHub の解説によると、内容は次のとおりだ。
- サーバーが示す HEAD(既定のブランチ)の名前を使った、書き込み先のすり抜け
- GPG 署名を外すときのメモリ破損
- 細工したバイナリパッチを適用するときの、範囲外の読み出し
- 大きなマージでの、メモリ計算の桁あふれ
git fast-importの機能から、リポジトリの外のファイルを読まれるおそれ
最後の件では、危うい機能は、明示しないと使えなくなった。
日本の利用者への影響
GitHub の発表には、日本の組織や利用者への影響についての記述はない。日本での影響は、分からない。
GitHub.com と GitHub Enterprise Cloud は対応済みだ。GitHub Enterprise Server は修正版が出ている。The Hacker News の記事は、確認した時点で Git for Windows の修正版は未公開だったと伝えている。Windows の開発者は、公開状況を確認したい。
今すぐやること
- 自分の PC、ビルド用サーバー、CI(自動ビルドの仕組み)で使っている Git の版を確かめる。
- 修正版(2.56.1 など、各系列の修正版)に更新する。Git for Windows は、確認時点で修正版が未公開だった。
- 更新できない間は、GitHub の勧めに従う。信頼できるサーバーからだけ複製し、怪しいリポジトリはサブモジュールごと複製しない。ただし、GitHub も言うとおり、これは修正の代わりにはならない。
- 信頼できないリポジトリは、使い捨ての環境(仮想マシンやコンテナ)で開く。
- 社内の GitHub Enterprise Server を運用しているなら、修正済みの版に上げる。
背景
今回の発表は、一つの欠陥だけでなく、六件をまとめて直すものだ。CVE-2026-111760 はそのうち、リポジトリの複製という日常的な操作で当たりうる点が目立つ。
条件は限られる。悪意あるリポジトリを、再帰的に複製する必要がある。一方で、開発者は他人のコードを日常的に複製する。更新の遅れが残りやすい点には注意したい。
ほかの五件も、多くは「信頼できない相手のデータを扱う」場面で当たる。GitHub の解説に書かれた回避策も、どれも出どころの怪しいサーバー、パッチ、マージ対象を避けるという方向だ。
技術者向けの詳細
- CVE-2026-111760: インデックス処理の整数切り詰め。長いパスが検査を通り、短い名前で書かれる。サブモジュールの
.gitがリンクに置き換わりうる。GHSA-vp2w-7xxj-jvxr。 - 修正版: 2.56.1、2.55.1、2.54.1、2.53.1、2.52.1、2.51.3、2.50.2。
- GitHub Enterprise Server: 3.19.15、3.20.11、3.21.9、3.22.4。
- 同時に修正(五件): CVE-2026-113408(サーバーが示す HEAD 経由のパストラバーサル)、CVE-2026-114467(署名を外すときのスタック破損)、CVE-2026-114469(バイナリパッチ適用時の範囲外読み出し)、CVE-2026-105437(マージのメモリ計算の整数オーバーフロー、GitLab 採番)、CVE-2026-114466(fast-import)。
- CVE-2026-114466 の対応で、
git fast-importのrewrite-submodules-from、rewrite-submodules-to、export-pack-edgesは、--allow-unsafe-featuresなしでは拒否される。 - 版の確認:
git --version - 影響版: GHSA-vp2w-7xxj-jvxr は「全版」と記載(修正版は未記載)。悪用状況は、確認した一次情報に記載がない。Git 本体の告知(lore.kernel.org)は取得できず、未確認。


