Gitの脆弱性:任意のコマンドの実行

Gitで新しい重大な脆弱性CVE-2014-9390が発見され、クライアント上で任意のコマンドを実行できるようになりました。



この脆弱性の本質は、大文字と小文字を区別しないファイルシステムのサービスパス.git / configと同等の.Git / configにコミットする機能です。 これにより、クライアントで任意のコマンドの起動を開始できます。 一般に、WindowsおよびMac OS Xのワークステーションは脆弱であり、Linuxシステムは大文字と小文字を区別しないファイルシステムを使用すると影響を受けます。



linux-kernel メーリングリスト発表によると

以前は ".Git / config"でコミットを許可していましたが、大文字と小文字を区別しないファイルシステムでは ".git / config"に書き込むことができますが、これはプログラムの期待される動作ではありません。 これ以降、Gitはパスでの「.Git」の使用を(いずれにしても)禁止します。


Windowsでは、特定のパスを.gitで表示することもできます。たとえば、 git〜1 / config.git / configへのアクセスを提供します。 .g \ u200cit / configなどのUnicode文字を使用する場合、HFS +ファイルシステムはこのパスへのアクセスも提供できます。 同様のパスは、潜在的に脆弱なシステムでGitによって拒否されます。 Linuxなどの他のシステムでは、同様のシステム動作を意図的に有効にして、クロスプラットフォームおよび全体的なセキュリティ強化を提供することができます。



git fsckの問題を確認できます。



修正はすでにリリースされています:







興味深いことに、GitHubではこの脆弱性の悪用はできません。 バグに関する情報が新しい悪意のあるコミットを禁止し、その中にCVE-2014-9390が存在するかどうかすべての既存のリポジトリをチェックした直後に、会社の従業員は。



All Articles