Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2024-32002-poc — CVE-2024-32002 の概念実証: Git サブモジュールのパスインジェクションの脆弱性。 | Kitploit
ツール/GitHubGitHub/joaoleonello/cve-2024-32002-poc
脆弱性分析エクスプロイトウェブセキュリティペネトレーションテストサプライチェーンセキュリティ学習と教育
GitHubjoaoleonello/cve-2024-32002-poc

cve-2024-32002-poc

CVE-2024-32002 の概念実証: Git サブモジュールのパスインジェクションの脆弱性。

リポジトリを見る
10ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

💥 CVE-2024-32002 – Git Submodule Path Injection PoC

動機

Hack The Box プラットフォームの Compiled マシンを攻略中に、Git とサブモジュールに関する興味深い動作に遭遇しました。さらに調査を進めると、研究者 Amal Murali による この優れた記事 を見つけました。そこには .gitmodules を介したパスインジェクション手法が詳述されています。これをきっかけに、CVE-2024-32002 を研究し、この脆弱性の実際の影響を示す実用的な PoC を作成することにしました。

🧠 脆弱性の概要

CVE-2024-32002 は、サブモジュールのパス解決に関連する Git の重大な欠陥を悪用します。Git では、リポジトリが .gitmodules ファイルで定義されたサブモジュールを、パスと URL を指定して含めることができます。この脆弱性は、パスが操作され、リポジトリの内部メタデータと設定を格納する .git ディレクトリ内を指すようにされた場合に発生します。

以下の組み合わせによって:

  • .gitmodules の操作 により、パスを A/modules/x として定義する
  • シンボリックリンク a → .git の作成

…これにより Git は欺かれ、A/modules/x を .git/modules/x、すなわち 内部の .git ディレクトリ内 として解決します。この結果、攻撃者は悪意のあるフックなどの任意のファイルを注入でき、checkout、merge、clone などの正当な操作中に実行される可能性があります。

この脆弱性はリモートコード実行のベクターとなり、特に CI/CD 環境や自動化、共有リポジトリにおいて危険です。


⚙️ スクリプト setup.sh が示す内容

このスクリプトは脆弱な環境の作成を自動化し、この欠陥の影響を再現します。

  1. 悪意のあるサブモジュール (hook-repo) を作成し、/tmp/teste.txt に書き込む post-checkout フックを含める
  2. メインリポジトリ (main-repo) を初期化し、サブモジュールを追加する
  3. .gitmodules ファイルを変更 して、サブモジュールのパスを A/modules/x にリダイレクトする
  4. シンボリックリンク a → .git を作成 し、A/modules/x が .git/modules/x として解決されるようにする
  5. 悪意のある .gitmodules をインデックスに注入 し、git update-index --index-info を使用する
  6. 正当なコミットを実行 して、通常のアクティビティをシミュレートする
  7. リポジトリ (cloned-repo) を --recursive 付きでクローン し、サブモジュールを初期化する

成功すると、フックが実行され、/tmp/teste.txt ファイルが次の内容で作成されます:

root@kitploit:~
joao was here

🐳 Docker 環境

このリポジトリには、次のことを行う Dockerfile が含まれています:

  1. **Git 2.45.0(脆弱なバージョン)をインストールする
  2. **通常のユーザー (joao) を作成する
  3. **PoC ファイルをコピーする
  4. **setup.sh を自動的に実行する

🔧 再現方法

root@kitploit:~
docker build -t git-cve-poc .
docker run --rm -it git-cve-poc

🔐 影響と緩和策

この脆弱性は、Git 2.45.1 より前のバージョンに影響します。この欠陥は、サブモジュールのパス解決におけるより厳格な検証によって修正されました。 サブモジュールを使用するリポジトリは監査されるべきであり、自動化環境は直ちに更新されるべきです。

⚠️ 免責事項

このプロジェクトは、教育および研究目的のみのものです。本番環境では使用しないでください。その目的は、脆弱性の技術的影響を実証し、セキュリティのベストプラクティスを促進することです。

ツールをダウンロード
  • 悪意のあるフックを .git/hooks/ にコピー し、git checkout HEAD を実行してエクスプロイトを発火させる