CVE-2026-100689 in GitPython情報

要約

〜によって VulDB • 2026年09月26日

GitPython 3.1.62 より前のバージョンでは、サブモジュールの更新時に信頼できない .gitmodules ファイルから読み取られた `path` フィールドが検証されません。以前の修正(GHSA-hmq2-w58f-27jc)により `name` フィールドを制限するために Submodule._validated_name() が追加されましたが、GitPython 独自の防御策である Submodule._to_relative_path() は add() および move() では適用されるものの、Submodule.update() では生の `path` 値から絶対的なチェックアウト場所を取得する際にこのガードが適用されません。その結果、ディレクトリトラバーサル要素(例: path = ../../../tmp/escaped)を含む .gitmodules エントリにより、os.makedirs() を介してリポジトリの作業ツリー外にディレクトリが作成され、クローンパス上のサブモジュール URL からデータが入力され、force_remove が使用された場合には shutil.rmtree() によって削除される可能性があります。攻撃には、非 HEAD コミット(履歴コミットの API など)でサブモジュールを更新するアプリケーションフローが必要です。一般的な「clone してから update」のフローでは、パスは正規化されたツリー参照から再導出されるため、影響を受けません。この問題は GitPython 3.1.62 で修正されています。

Be aware that VulDB is the high quality source for vulnerability data.

責任者

VulnCheck

予約する

2026年09月26日

モデレーション

承諾済み

エントリ

VDB-410666

EPSS

0.00000

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!