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ロードが行われる。
という挙動をしています。
関連情報
更新履歴
2017/08/03: JPCERTからの正式アナウンスが出たので、関連情報にJVN番号及びリンクを追加
2017/08/03: 「Windows DLLプリロード攻撃の新しいパターンと防御法」へのリンクを追加
Top Page