マイクロソフトは、Microsoft DDS Library Shape Control(msdds.dll)がInternet Explorer(IE)で表示されたWebページから呼び出された際に、コンピュータをリモート操作可能にしたり、IEを異常終了させたりする脆弱性が存在することを明らかにした。msdds.dllは、Visual
Studioデータベース・ダイアグラムのようなコンポーネントによってデータベースのオブジェクトを視覚化するために使用されるCOMオブジェクトで、Visual
Studio .NET 2002/2003、Access 2002/2003(Office XP/2003)に含まれる。デフォルトのWindowsにはインストールされていない。
・セキュリティ・アドバイザリ 906267(COM オブジェクト (Msdds.dll) により Internet Explorer が予期なく終了する可能性がある):
http://www.microsoft.com/japan/technet/security/advisory/906267.mspx
・The SANS Institute(Internet Explorer (.Net) 0day msdds.dll Exploit & Patch)
http://isc.sans.org/diary.php?date=2005-08-18
・FrSIRT(Microsoft Internet Explorer "Msdds.dll" Remote Code Execution):(アドバイザリ)
http://www.frsirt.com/english/advisories/2005/1450
・Secunia(Microsoft DDS Library Shape Control Code Execution Vulnerability):
http://secunia.com/advisories/16480/
この脆弱性も、MS05-037やMS05-038の脆弱性と同様、本来はIEを介してアクセスされるように設計されていない非ActiveXコントロール(COMオブジェクトなど)のインスタンスが、IE経由で作成できてしまうことに起因するものである。MS05-038の修正プログラムでは、デフォルトのWindowsに含まれる危険性のあるCOMオブジェクトに対する対策が行われたが、Officeなどで追加されるCOMオブジェクトについては対象になっていなかった。
・HotFix Alert MS05-037(JViewプロファイラ(Javaprxy.dll)の脆弱性により、リモートで任意のコードが実行される危険性):
http://www.hotfix.jp/archives/alert/2005/ms05-037.html
・HotFix Alert MS05-038(Internet ExplorerのJPEGイメージ処理の脆弱性などにより、リモートで任意のコードが実行される危険性):
http://www.hotfix.jp/archives/alert/2005/ms05-038.html
セキュリティ・アドバイザリによると、脆弱性が存在するmsdds.dllのバージョンは、7.0.9064.9112と7.0.9446.0のみで、7.0.9955.0、7.10.3077.0またはそれ以降のmsdds.dllについては、脆弱性の影響を受けないとしている。Visual
Studio .NET 2002 SP1やOffice 2003に含まれるmsdds.dllには、脆弱性は存在しない。またAccess 2002 SP3(Office
XP SP3)の場合、msvcr70.dllとmsvscp70.dllの2つのファイルがIEのプロセスからアクセスできると脆弱性の影響を受けてしまう。具体的には、これら2つのファイルがmsdds.dllと同じフォルダか、%SystemRoot%\system32\フォルダにインストールされている場合が挙げられている。念のため、脆弱性のあるmsdss.dllが存在するコンピュータでは、実行パス(PATH環境変数に記されているパス)にこれら2つのファイルが存在しないことも確認しておこう。
■FrSIRTが実証コードを公開
FrSIRTは、msdds.dllの脆弱性に対する実証コードを公開している。この実証コードが悪用されることも懸念されるので、該当するバージョンのmsdds.dllがインストールされている場合、回避策を至急実施した方がよい。
・FrSIRT(Microsoft Internet Explorer "Msdds.dll" Remote Code Execution
Exploit (0day)):(実証コード)
http://www.frsirt.com/exploits/20050817.IE-Msddsdll-0day.php
■msdds.dllの脆弱性に対する回避策
セキュリティ・アドバイザリでは回避策として、msdds.dllのCOMコントロールをIE上から実行できないようにkillbit(HTMLレンダリング・エンジンにより、ActiveXコントロールが読み込まれないようにするInternet
Explorerのセキュリティ機能)を設定すること、IEのセキュリティ設定を「高」にしてActiveXが実行されないように設定すること、などが紹介されている。なおkillbitは、以下のレジストリ・キーの値にデータ「0x00000400」を設定すればよい。
レジストリ・キー: |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\
ActiveX Compatibility\{EC444CB6-3E7E-4865-B1C3-0DE72EF39B3F} |
値: |
Compatibility Flags(DWORD値) |
また以下のコマンドを実行し、COMコンポーネントからmsdds.dllの登録を削除してもよい。
登録削除: |
regsvr32 /u msdds.dll |
再登録: |
regsvr32 msdds.dll |
なお原稿執筆時点では、マイクロソフトから修正プログラムは提供されていない。「JViewプロファイラ(Javaprxy.dll)の脆弱性」のときと同様、killbitを設定する修正プログラムが近日中に提供される可能性もあるが、すでに実証コードが公開されていることから、脆弱性が存在する場合は上述の回避策を至急実施した方がよい。
|