パスワードを忘れた? アカウント作成
11835638 story
セキュリティ

Gitに深刻な脆弱性、緊急メンテナンスリリースが公開される 39

ストーリー by headless
修正 部門より
Gitの深刻な脆弱性「CVE-2014-9390」が18日に公表された(GitのアナウンスGit Blameの記事GitHubの記事窓の杜の記事本家/.)。

この脆弱性は大文字と小文字を区別しないローカルファイルシステム上でGitまたは互換クライアントを使用している場合に影響する。攻撃者は「.Git」のような名前のディレクトリ(「.git」を除くすべての大文字小文字の組み合わせが利用可能)を作成してファイルを格納することで、影響を受けるシステムのローカルリポジトリで「.git」ディレクトリ内のファイルを上書きすることや、任意のコマンドを実行することができるという。また、Mac OS XのHFS+ではUnicodeの特定範囲を無視するため、「.g\u200cit」のような名前のディレクトリを使用して攻撃を行うことも可能だ。影響を受けるのは主にWindows版とMac OS X版のクライアントで、大文字と小文字を区別するファイルシステムを使用している限りLinux版のクライアントは影響を受けない。

すでにGitは緊急メンテナンスリリースが公開されており、GitHub for WindowsGitHub for MacGit for WindowsGit OS X installerJGitEGitlibgit2なども最新版で修正済みだ。また、MicrosoftがVisual StudioおよびTFS 2013の修正パッチを公開しているほか、AppleもXcode 6.2 beta 3を公開している。影響を受けるシステムのユーザーはもちろんだが、影響を受けないシステムであってもGitサーバーをホストしている場合には更新が強く推奨されている。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2014年12月20日 14時28分 (#2731406)

    WEBrickの時も思ったけど、大文字と小文字を区別しないFSって本当にクソ。
    FSじゃないけど、ある場所と別な場所で大文字小文字が混ぜこぜになってるとか、某言語や某RDBMS信者にも以外と多い。
    もはや存在自体が脆弱性。そして何より、一貫性のなさという気持ち悪さ。
    FSにしろ言語にしろRDBMSにしろ、とっとと区別するように作り直せば良いのに…。

    # ある場所では全部小文字で書いてたと思ったら、ある場所では全部大文字になってて、また別な場所ではキャメルケース。
    # そんなクソをメンテさせられる俺の気持ちになれ。

  • strcasecmp (スコア:3, 興味深い)

    by Anonymous Coward on 2014年12月20日 19時56分 (#2731555)

    なんかmsysgitは色々修正されてるがこれに関係ありそうなのはこの辺っぽい?
    https://github.com/msysgit/git/commit/76e86fc6 [github.com]
    https://github.com/msysgit/git/commit/cc2fc7c2 [github.com]
    https://github.com/git/git/commit/d08c13b9 [github.com]
    strcasecmpは、vcだと_strnicmpになるみたいだけど、これ入力文字列はたぶんUTF-8だよね。
    でも_strnicmpはASCII前提だから「.git」と同じファイル名として認識されるUnicode文字があった場合を正常にはじけないと思い少し調べたけど、問題ないっぽい。
    以下のブログを参考にした
    http://dev.activebasic.com/egtra/2013/01/13/527/ [activebasic.com]
    ちなみにwcsicmpはlocale未設定では全角Aと全角aが一致しない。
    lstrcmpiWはiに一致する文字がI以外に2つある。
    とか動作がまちまちで、脆弱性にはならなくても適当なプログラムは世の中に大量にある予感。

  • by Anonymous Coward on 2014年12月20日 14時18分 (#2731403)

    Windowsの短いファイル名がヤバいというのは比較的知られてると思うけど、Macの「.g\u200cit」とかはちゃんと対策されてるのかな?

    • by Anonymous Coward

      されてないと書いてますよ。
      直したくても直せないのかな。互換性絡みで。

  • リリース見ても、「Linuxには関係ない」って3回くらい書いてあるし、他人のせい感が満載なのが気になりますね。
    今回の対策も、抜け穴をふさぎ切れているのか、正直あやしいと思っています(個人の感想です)。

    しばらくは「信頼できるレポジトリ以外はfetchするな」という、なんちゃらOfficeで聞いたことのある注意書きを守るしかなさそうな。

  • by Anonymous Coward on 2014年12月20日 16時11分 (#2731449)

    彼の口癖だった

    • by Anonymous Coward

      OK、落ち着け。
      WindowsとMacがメインの話だ。

  • by Anonymous Coward on 2014年12月20日 17時50分 (#2731508)

    大文字と小文字を区別するFSのOSの優位性を主張したいがために・・・!

  • by Anonymous Coward on 2014年12月20日 17時56分 (#2731513)

    SourceTreeはまだみたいなので内蔵gitではなくてGit for Windowsを入れてシステムGitを使用に変更した方がよさそう。

  • by Anonymous Coward on 2014年12月20日 19時05分 (#2731540)

    ・これは今どき酷い(区別するの前提にしてるよねこれ)
    ・まあ(スラドではない)一般人には関係ない話

    それはさておき、脆弱性対策ってめんどくさい。ほんと死ぬほどめんどくさい。
    相手人間だからなあ。CPU相手にバグ直してるほうがよっぽど楽。

    昔はたかだか数百円のソフトをわざわざディスアセンブラまで使って解析してクラックする
    アレゲな奴らが少しはいたけど、今はフリーでも何してでもクラックされるからなあ。
    死ぬまでメンテさせられ続けるのかな、彼ら。ご苦労様だわ。

    # 女性なr

  • by Anonymous Coward on 2014年12月20日 20時29分 (#2731564)

    NTFS だと .git が git~1 と同じに見えるってのは知らなかった・・・怖い。

    • by masahikoi (1183) on 2014年12月20日 20時55分 (#2731574)

      デフォルトだと「短い名前の作成オプション」が未構成になってますからね。

      これを有効に構成してオプション設定を「すべてのボリュームで無効」にすればそういうMS-DOS互換(FAT互換)用の名前は生成されなくなりますが、その場合古いWindowsアプリやMS-DOSアプリを使っている場合に不正なファイル/ディレクトリ名と判断されてエラーになっちゃうかもしれません。

      親コメント
  • by Anonymous Coward on 2014年12月22日 10時11分 (#2732047)

    http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.2.3_.282014-12-18.29 [selenic.com]

    pathauditor: check for Windows shortname aliases
    pathauditor: check for codepoints ignored on OS X

  • by Anonymous Coward on 2014年12月27日 22時35分 (#2735226)

    脆弱性ならFC2の方が酷い。
    アメリカ合衆国ネバダ州ラスベガスに本社を置く、Webサービスおよびホスティングサービスを展開する企業だが、メンテナンスが酷く脆弱性の数が飛び抜けて多く、全く話にならない。

    • by Anonymous Coward

      創価学会のSGIに信者として入信している在日外国人(ロシア人、ポルトガル人の割合が多い)がスパム・ウィルスをコメント爆弾として投下しており、ハッキングされ板自体が機能しない。

typodupeerror

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

読み込み中...