Git の深刻な脆弱性 CVE-2024-32002:RCE を証明する PoC が登場

Critical Git Vulnerability CVE-2024-32002: Researcher Unveils RCE Exploit with PoC

2024/05/19 SecurityOnline — Git に存在する、深刻なリモートコード実行 (RCE) 脆弱性 CVE-2024-32002 (CVSS:9.1) に関する、技術的詳細と PoC エクスプロイトを、セキュリティ研究者であるAmar Murali が発表した。この脆弱性は、ルーチン “git clone” の操作中に悪用される可能性があり、影響を受けるシステムの制御を、攻撃者に奪われる可能性が生じている。


Murali の綿密な調査は、包括的なブログ記事に詳述されており、この脆弱性の魅力的な内部構造が明らかにされている。からは、Git のソースコードを分解し、パッチの差分を分析している。その結果として、”git clone” の操作中において、大文字と小文字を区別しないファイル・システムとシンボリック・リンクの組み合わせが、悪意のコード注入に利用される方法を明らかにしている。

この悪用の核心は、大文字小文字を区別しないファイル・システム (Windows/macOS では一般的) と、Git のサブ・モジュール機能との間の微妙な相互作用にある。特別に細工したサブ・モジュールとシンボリック・リンクでリポジトリを細工する攻撃者は、クローンの処理中に悪意のフック・スクリプトを実行するように、Git を騙すことが可能となっている。

Successful RCE execution on Windows via remote GitHub repo URL
Image: Amal Murali

Murali は技術的な詳細に加えて、CVE-2024-32002 悪用による RCE を実証する、PoC エクスプロイトを作成した。サブ・モジュール内に悪意のシンボリック・リンクを作成し、パスの大文字小文字を変化させることで、このエクスプロイトは Git を騙して、隠れた “.git/” ディレクトリを露出させる。さらに、このディレクトリには、Git の操作中に実行されるフックが含まれているため、RCE のベクターとなってしまう。

Successful RCE execution on Mac via remote GitHub repo URL
Image: Amal Murali

Murali が証明した悪用の方法は、チェックアウト後のフックを、インジェクション・コードに置き換えるものである。最初の試行では、Windows のシンボリック・リンクのパーミッションが問題になったが、Git Bash を管理者として実行することで解決した。何度か試した後に Murali は、エクスプロイトの実証にに成功し、不正なアプリケーションの起動からディレクトリの消去にいたるまでの、このエクスプロイトがもたらす大混乱の可能性を示した。

“git clone” 操作は、無数の開発ワークフローの基本であるため、この RCE 脆弱性は重大な脅威となる。幸いなことに、すでに最新の Git バージョンで、この脆弱性は修正されている。開発者に強く推奨されるのは、システムを保護するために、直ちにアップデートを実施することだ。