IP Messengerインストーラにおける意図しないDLL読み込みの脆弱性

作成: 2017/07/31
更新: 2017/08/03
白水啓章

概要

IP Messenger インストーラ(v4.60 およびそれ以前)に、意図しないDLLを読み込む脆弱性が存在します。
この脆弱性が悪用されると、インストーラ実行中に任意コードが実行される危険性があります。

対象バージョン

IP Messenger v4.60 及び それ以前のインストーラ

対応方法

IP Messengerをインストール/バージョンアップする場合、v4.61以降のインストーラをご利用ください。

発生条件

1) インストーラzipアーカイブ内にある、インストーラ実行ファイルを直接、悪意のあるDLLが置かれているフォルダに展開・保存する。
2) 展開されたインストーラ実行ファイルを起動して、「開始」ボタンを押す

備考: エクスプローラzipフォルダから直接実行したり、フォルダ付き展開後に実行した場合には影響を受けません。

技術詳細

広く知られていない印象がありますが、ソースコードで「絶対パス指定なしのDLL読み込み」を行なわない場合でも、
一部のWinAPIやCOM I/F(*)の呼び出しのタイミングで、内部で自動的に「絶対パス指定でないDLLの読み込み」が行われることがあります。
今回の IP Messengerインストーラの脆弱性は、それに起因しています。
(詳細はこちらに。「Windows DLLプリロード攻撃の新しいパターンと防御法」

(*) 手元のWindows10Proで確認した範囲では、
1) ShellExecute APIを呼び出すと、パス指定なしでurlmon.dllがロードされる。
2) ショートカット作成等で使われる IShellLink COM I/F内を呼び出すと、同じくパス指定のない別のDLLロードが行われる。
という挙動をしています。

関連情報

JVN#86724730 https://jvn.jp/jp/JVN86724730/
JPCERT Coordination Center http://www.jpcert.or.jp/
IPA情報処理推進機構 http://www.ipa.go.jp/

更新履歴

2017/08/03: JPCERTからの正式アナウンスが出たので、関連情報にJVN番号及びリンクを追加
2017/08/03: 「Windows DLLプリロード攻撃の新しいパターンと防御法」へのリンクを追加


Top Page