パスワードを忘れた? アカウント作成
248819 story
バグ

40以上のWindowsアプリケーションに深刻な脆弱性がある? 18

ストーリー by hylom
WebDAV無効化は本質的ではございませんが 部門より

あるAnonymous Coward 曰く、

ComputerworldによるとWindows Shell (エクスプローラ) を含めた40のアプリケーションにショートカット絡みの致命的な脆弱性が未だ残っているとのこと (Computerworldの記事)。

この脆弱性を修正するためには個々のアプリケーションのベンダーによる対処が必要となるらしい。WebDAVクライアントを無効にすることでこの脆弱性による問題を回避できるとのこと。

この問題は、8月3日に公開された「Windows シェルの脆弱性により、リモートでコードが実行される問題とは異なるもののようだ。セキュリティコンサルティングを行うAccros社のレポートによると、これはiTunesの問題として報告されており、ネットワーク上の共有ディレクトリに特定の名前で細工を加えたDLLファイルを配置し、同じ場所に配置された音楽ファイルをiTunesで開かせることでそのDLLファイルをロードさせることができるという。WindowsにはWebDAVクライアント機能が標準搭載されているため、インターネット上のWebDAVサーバー上に悪意のあるファイルを配置して読み込ませることも可能だそうだ。

詳細については公開されていないが、これと同種の問題を含むアプリケーションはiTunes以外にも多数存在するとのこと。なお、iTunesについてはiTunes 9.1にて問題が解決されているそうだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by masakun (31656) on 2010年08月23日 19時18分 (#1813998) 日記

    CVE-2010-1795 [mitre.org] 非公開

    iTunes 9.1 のセキュリティコンテンツについて [apple.com]

    対象となるバージョン:Windows 7、Vista、XP

    影響:悪意を持って作成されたディレクトリのファイルを開くと、任意のコードが実行される可能性がある。

    説明:iTunes にパス検索の問題があります。iTunes は、現在の作業ディレクトリで特定の DLL を検索します。だれかがディレクトリに特定の名前の悪意を持って作成されたファイルを置いた場合、そのディレクトリにあるほかのファイルを iTunes で開くと、任意のコードが実行される可能性があります。この問題は、DLL を使うコードを削除することで解消されています。この問題は Mac OS X システムでは発生しません。この問題の報告は、ACROS Security の Simon Raner 氏の報告によるものです。

    CVE-2010-1795 - SecurityLab [securitylab.ru]

    Untrusted search path vulnerability in Apple iTunes before 9.1, when running on Windows 7, Vista, and XP, allows local users and possibly remote attackers to gain privileges via a Trojan horse DLL in the current working directory.

    --
    モデレータは基本役立たずなの気にしてないよ
    • by Anonymous Coward
      soaraさんは日記全消しして逃走する必要あったのかなあ。
  • by racco (37699) on 2010年08月24日 16時59分 (#1814503)

    >40以上のWindowsアプリケーションに深刻な脆弱性がある?

    深刻な脆弱性のあるウィンドウズアプリケーションが40以下のわけないだろう。

  • by Anonymous Coward on 2010年08月23日 19時12分 (#1813992)
    DLLが勝手にロードされることで何が怖いんだろう?
    既存のDLLが差し替えられるということ?
    でもそれって、機能しないよね?

    教えてエロい人!
    # 参照先はぜんぜんわからんかったorz
    • by Anonymous Coward on 2010年08月23日 19時46分 (#1814007)

      DllMainが実行される。

      アイコンを得るときは、LoadLibrary じゃなくて LoadLibraryEx を LOAD_LIBRARY_AS_DATAFILE 付きで呼び出そうってことなのかなぁ?

      親コメント
      • by Anonymous Coward
        >DllMainが実行される。

        なるほど!
        ふだん、DllMainを含むファイルを未加工状態で使っているだけなんで
        完全に失念していました。

        たしかに、任意のコードが実行できちゃいますね~

        納得です。ありがとうございました。
      • by Anonymous Coward

        > アイコンを得るときは、LoadLibrary じゃなくて LoadLibraryEx を LOAD_LIBRARY_AS_DATAFILE 付きで呼び出そうってことなのかなぁ?
        ExtractIconっていうもっと便利なAPIがあるよ。

      • by Anonymous Coward
        たしかに、これは盲点かもしれませんね。普通のレベルのプログラマがLoadLibraryで目的の処理が達成できてしまった場合、セキュリティにまで考えが及ばない可能性はありそうですね。

        他の方から、ExtractIcon関数に関して、言及がありましたが、他のリソースのロード時にはやっぱり、LoadLibrary/LocadLibraryExせざるを得ないことはあるわけで、一般論として、信用できないソースからのDLLに対して、LoadLibraryすることは危険であるという認識を共有する必要があるかもしれません。

        MSDNのLoadLibraryにそういう警告を書いて貰うように、MSに報告しておこうと思います。
      • by Anonymous Coward

        1. GetOpenFileNameでファイルを開くダイアログを開く
        2. 上記APIでカレントディレクトリが変更される(undocumentedな挙動?)
        3. 自アプリ用のDLLをロードするのにファイル名だけを指定してLoadLibraryを呼ぶ
        4. 変更されたカレントフォルダから最初にDLLが探される
        5. 悪意のある人間が作成した偽DLLをロード
        6. おわた

        こういうシナリオじゃないの?

    • by Anonymous Coward
      DLLが勝手にロードされるのは、
      EXEが勝手に実行されるのと同じですよ。
      ロードした時点で、攻撃者のコードが実行されます。
  • by Anonymous Coward on 2010年08月23日 19時24分 (#1814000)
    Windowsのサービスはさっさと無効にしてCarotDAV利用。
    • by Anonymous Coward
      玄関を施錠してから窓を開け放っているように見えるな。
      • Re:WebDAV (スコア:1, 興味深い)

        by Anonymous Coward on 2010年08月23日 20時33分 (#1814030)
        接続に行くプロセスが異なれば、少なくとも意図せず実行されるのは防げるでしょう。
        親コメント
        • by Anonymous Coward

          脆弱な(アイコンの抽出にLoadLibraryを使ってる)アプリならアイコンを表示するだけでアウトだよ。CarotDAVとやらが脆弱かどうかは知らないけど。

          • Re:WebDAV (スコア:1, 興味深い)

            by Anonymous Coward on 2010年08月24日 1時16分 (#1814147)

            WebClientがまずいのは、WebClient自体がLoadLibraryを使っているからではなく、シェルと統合されているからでしょう。
            WebDAVとは本来無関係なはずのアプリが、WebDAVサーバ上のファイルに対しWebClient経由でLoadLibraryできてしまうのが問題なわけで。
            シームレスなのが徒になっているのだと思います。
            (逆にWebClientに限らず、シェルに統合するようなタイプのFTPクライアントでも同じようなことが起こる?)

            親コメント
          • by Anonymous Coward
            CarotDAV(でも他のクライアントでも)を、接続先指定で直接起動されてしまえば、その通りじゃないかな。
typodupeerror

Stay hungry, Stay foolish. -- Steven Paul Jobs

読み込み中...