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 を騙すことが可能となっている。

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

Image: Amal Murali
Murali が証明した悪用の方法は、チェックアウト後のフックを、インジェクション・コードに置き換えるものである。最初の試行では、Windows のシンボリック・リンクのパーミッションが問題になったが、Git Bash を管理者として実行することで解決した。何度か試した後に Murali は、エクスプロイトの実証にに成功し、不正なアプリケーションの起動からディレクトリの消去にいたるまでの、このエクスプロイトがもたらす大混乱の可能性を示した。
“git clone” 操作は、無数の開発ワークフローの基本であるため、この RCE 脆弱性は重大な脅威となる。幸いなことに、すでに最新の Git バージョンで、この脆弱性は修正されている。開発者に強く推奨されるのは、システムを保護するために、直ちにアップデートを実施することだ。
Git に深刻な脆弱性とのことですが、大文字と小文字を区別しないファイル・システムとシンボリック・リンクの組み合わせが、コード注入に悪用されるという問題があるようです。つい先日の 2024/05/15 にも、リモートコード実行の脆弱性 CVE-2024-32002 について、解説が提供されていました。ご利用の開発者は、ご注意ください。
You must be logged in to post a comment.