VS2010でコンパイルされたすべてのMFCアプリに脆弱性ってのは過小報告?

VS2010 でコンパイルされた全ての単体 MFC アプリケーションに脆弱性が存在- livedoor ニュース
VS2010 でコンパイルされた全ての単体 MFC アプリケーションに脆弱性が存在 – スラッシュドット・ジャパン

というニュースがあったので、Windows 2000環境に 偽 dwmapi.dll をインストールしてDLLが読み込まれるか試してみました。


dwmapi6
Safari4/5 の場合、モジュールが組み込まれちゃってますね。

dwmapi7
こちらは、パナソニックの拡大ツール、これもアウトdwmapi8
こちらはパナソニックPC情報ツール

dwmapi2
これは、Snagit 9というツール。

全部Windows 2000上で検証。
ここに列挙したのは、私のPC上で DLLやEXE内に DWMAPI.DLLの文字列が組み込まれているソフト。
dwmapiが組み込まれてしまった問題のありそうなアプリは「x」を付けました。

Visual Studio 2010 Project
x 妖精大戦争
– Core Temp
– Debugging Tools for Windows

Visual Studio 2008 Project
x Felica Updater
x Snagit 9
x Super Mapple Digital 11
x Panasonic PC情報ビューア
x Lunascape
x Panasonic OptView
x Corel Video Studio Pro X3
– Google Chrome
– iTunes
– Adobe Air 2.5
– IME2010
– SilverLight4
– FlashPlayer 10.1

Visual Studio 2005 Project
x Safari 4
x Safari 5
– 360desktop
– Picasa 3.8
– Firefox
– OpenGL Extenssions Viewer 3.0
– Steam
– Stardoc Impulse
– Office 2007
– VMPlayer 3.1
? Panasonic Display Helper
? quanp
? Inter Video WinDVD 8

Visual Studio 2003 Project
– Panasonic  Wireless Manager
– Office 2003
– Java6

Visual Studio 6 Project
– VistaBootPro 3.3

Other
– Shock4way3D

見ての通り、 Visual Studio 2010だけでなく、 VC++2008 や VC++2005 でコンパイルされているアプリでも問題が発生しました!
たぶん、このダミーで組み込んだ dwmapi.dll を最初から 最初に読み込みに行く、system32に組み込んでおけばよいのかもしれませんが、影響範囲は相当広そうですね。

dwmapi5
こちらは Visual Studio 2008でコンパイルされた Felica Updater を Dependency Walker でプロファイル実行したところ。

思いっきり動的にロードされてます。

関連サイト:
JVNVU#707943: Windows プログラムの DLL 読み込みに脆弱性
マイクロソフト セキュリティ アドバイザリ (2269637): 安全でないライブラリのロードにより、リモートでコードが実行される
WindowsのDLL読み込みに脆弱性–コード実行の危険性:JVN発表 – セキュリティ – ZDNet Japan

おすすめ

4件のフィードバック

  1. 名無し より:

    system32に置いてテストしてるみたいですけど、フルパスで自前でLoadLibraryしてるソフトがあったとして、それは脆弱性にはならないと思うんですがどうでしょ

  2. 名無し より:

    system32に置いてテストしてるみたいですけど、フルパスで自前でLoadLibraryしてるソフトがあったとして、それは脆弱性にはならないと思うんですがどうでしょ

  3. blackwingcat より:

    フルパス指定でLoadLibrary または、SetDllFolderしてたら大丈夫だったはずなのですが、残念ながら対応してるのは SetDllFolderを使ってる、Safari 5だけじゃないかと思います。

  4. blackwingcat より:

    フルパス指定でLoadLibrary または、SetDllFolderしてたら大丈夫だったはずなのですが、残念ながら対応してるのは SetDllFolderを使ってる、Safari 5だけじゃないかと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です