Git のディレクトリ名処理に起因する任意コード実行の脆弱性(Scan Tech Report) | ScanNetSecurity
2024.04.20(土)

Git のディレクトリ名処理に起因する任意コード実行の脆弱性(Scan Tech Report)

Git には、リポジトリを確認する際のディレクトリ名の取り扱いに起因してユーザの Git 設定ファイルを上書き可能な脆弱性が存在します。

脆弱性と脅威 エクスプロイト
1.概要
Git には、リポジトリを確認する際のディレクトリ名の取り扱いに起因してユーザの Git 設定ファイルを上書き可能な脆弱性が存在します。
ユーザが悪質なリポジトリをクローンまたはチェックアウトした場合に、リモートの第三者によって、システム上で不正な操作が実行される可能性があります。
Windows や Mac OS X で Git を利用する環境では、脆弱性を悪用される可能性があるため、可能な限り以下の対策を実施することを推奨します。


2.深刻度(CVSS)
現時点 (2015/1/5) において、CVSS 未割り当て


3.影響を受けるソフトウェア※1
Git 1.8.5.5 以前
Git 1.9.4 以前
Git 2.0.4 以前
Git 2.1.3 以前
Git 2.2.0

※1 Git for Windows (msysGit), Git OSx Installer, JGit, libgit2, Mercurial, Xcode, Visual Studio などのソフトウェアやライブラリも影響を受け、それぞれ解消バージョンやパッチがリリースされています。


4.解説
Git は、プログラムソースなどの変更履歴を管理する分散型のバージョン管理システムであり、リモートリポジトリとクライアント上に配置するローカルリポジトリの 2 種類のリポジトリを利用します。
リポジトリは、Git で管理するファイルが含まれる作業用ディレクトリとリポジトリの本体 (.git ディレクトリ) で構成されます。.git ディレクトリには、ブランチ名やリポジトリの場所 (URL) などが含まれるユーザ設定ファイル (.git/config)、Git オブジェクト (.git/objects)、リファレンス (.git/refs)、インデックス (.git/index) などが格納されています。

Windows や Mac OS X 上で利用する Git クライアントには、Git リポジトリをクローンまたはチェックアウトする際に、ディレクトリ名を適切に処理しないため、クライアント上の .git/config ファイルを不正な Git 設定ファイルで上書き可能な脆弱性が存在します。

この脆弱性を利用することで、リモートの攻撃者は、Git クライアントを実行するユーザの権限で任意のコード実行が可能となります。

この脆弱性は、Microsoft Windows (NTFS, FAT) や Mac OS X (HFS+) などの大文字小文字を区別しないファイルシステムを利用する環境でのみ影響を受けます。Linux 環境では影響を受けません。


5.対策
以下の Web サイトより Git 1.8.5.6/1.9.5/2.0.5/2.1.4/2.2.1 以降のバージョンを入手しアップデートすることで、この脆弱性を解消することが可能です。

Git 1.8.5.6/1.9.5/2.0.5/2.1.4/2.2.1:
https://www.kernel.org/pub/software/scm/git/


6.ソースコード
(Web非公開)

(執筆:株式会社ラック サイバー・グリッド研究所

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
《株式会社ラック デジタルペンテスト部》

関連記事

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×