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だけじゃないかと思います。

コメントを残す

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