| MS05-016/893086 | 
 
| Windowsシェルのアプリケーションとの関連付け処理の脆弱性により、任意のコードが実行される危険性 | 
 
| (Windows シェルの脆弱性により、リモートでコードが実行される) | 
 
| 緊急対応度:適用作業の至急開始
 
 
 | 
 
| 
 
| 危険性 | 脆弱性による危険性を示す。「緊急適用」の場合、すでに攻撃コードが公開されているなど、脆弱性を悪用した攻撃が開始される可能性がある。「SP待ち」の場合、現時点では危険性がそれほど高くないため、サービスパックに反映されるまで待つことが可能であることを示す。 |   
|  |   Windowsシェルがアプリケーションとの関連付けを処理する方法に脆弱性が存在し、リモートから任意のコードがWindowsシェルによって実行される危険性がある。この脆弱性は、一般的にアプリケーションに関連付けられていない拡張子の種類(.aaaなど)を利用して悪用されることが多い。細工したファイルをユーザーがダブルクリックすると、ファイルに仕込まれている任意のコードが実行される。  マイクロソフトによれば、MS05-016の脆弱性は非公開で報告されたとしている。しかし報告者のiDEFENSEは、マイクロソフトが修正プログラムの提供を開始したころから詳細情報を公開している。すでに脆弱性を攻撃する実証コードも公開されている。この実証コードを悪用すれば、ワームなどが容易に作成できるだろう。またNetskyなどの既存のワームに組み込まれることも懸念される。深刻度は「2(重要)」だが、至急、修正プログラムの適用を開始した方がよい。 ・iDEFENSE(Microsoft MSHTA Script Execution Vulnerability):http://www.idefense.com/application/poi/display?id=231&type=vulnerabilities
 ・HotFix Report BBS:MS05-016関連スレッド(実証コードが公開)http://bbs.hotfix.jp/ShowPost.aspx?PostID=2789#2789
 | 
 
| 
 概要
 
 | 
 
|  Windowsシェルがファイルを読み込むアプリケーションを正しく検証しない脆弱性が存在する。細工したファイルをユーザーが開くと、任意のコードがMicrosoft 
HTML Application Host(MSHTA)によって実行させられる。コードは、ログオンしているユーザーの権限で実行されるので、管理者権限でログオンしている場合は、コンピュータの制御が完全に奪われる危険がある。  この脆弱性は、多くの場合、アプリケーションに関連付けられていないファイル(不明な拡張子)を介して悪用される。そのため不審なファイルを開かなければ、運用レベルでも攻撃は回避可能だ。 | 
 
| 
 対象プラットフォーム
 
 
 | 
 
| 
 
| 影響を受けるソフトウェア | 対象プラットフォーム |   
| Windows 2000 | Windows 2000 SP3/SP4 |   
| Windows XP | Windows XP SP1/SP1a/SP2 |   
| Windows Server 2003 | Windows Server 2003 |  | 
 
|  | 
 
|  ‥‥‥ DA Lab:HotFixテスティング・チームからのコメント 
‥‥‥ | 
 
| ■適用テストの結果DA Labでは、以下のプラットフォームで修正プログラムの適用テストを行った。
 
 
| プラットフォーム | 適用テスト結果  |   
| Windows 2000 Professional SP3 | ○ |   
| Windows 2000 Professional SP4 | ○ |   
| Windows 2000 Server SP3 | ○ |   
| Windows 2000 Server SP4 | ○ |   
| Windows 2000 Advanced Server SP3 | ○ |   
| Windows XP Professional SP1 | ○ |   
| Windows XP Professional SP1a | ○ |   
| Windows XP Professional SP2 | ○ |   
| Windows Server 2003, Standard Edition | ○ |   
| Windows Server 2003, Enterprise Edition | ○ |  ■Windows NT 4.0 SP6a/2000 SP2/XP SP未適用向け修正プログラムは提供されないWindows NT Workstation 4.0 SP6a/2000 SP2は2004年6月30日に、Windows XP SP未適用は2004年9月30日にそれぞれサポート・ライフサイクルが終了したため、MS05-016の修正プログラムは提供されない。Windows 
2000 SP2はSP3またはSP4を適用してから、Windows XP SP未適用はSP1a/SP2を適用してから、それぞれ対応する修正プログラムを適用する。
  また、Windows NT Server 4.0も2004年12月31日でサポート・ライフサイクルが終了しており、MS05-016の修正プログラムは提供されない。そのため、Windows 
NT 4.0 SP6aについては、脆弱性を解消する手段がないため、OS自体のバージョンアップが必要となる。 ■Windows 98/98SE/Meにも脆弱性ありTechNetセキュリティ情報によれば、Windows 98/98SE/MeにもWindowsシェルの脆弱性が存在する。ただしマイクロソフトはこれらを「緊急ではない」と判断しており、修正プログラムの提供は行われない。
 ■MBSA 1.21の結果MS05-016の修正プログラムが正しく適用されているかどうかは、MBSA 1.21で確認可能だ。未適用の場合は、「Windowsのセキュリティの更新」の「結果の詳細情報」に、「Windows 
シェルの脆弱性により、リモートでコードが実行される (893086)」が表示される。
 | 
 
|  | 
 
|  | 
 
|  Wordの文書ファイルは、拡張子をアプリケーションに関連付けされていないもの(例えば、.aaa)に変更しても、ファイルをダブルクリックするとWordが起動し、文書ファイルが読み込まれる。これは、文書ファイル内にWindowsシェルAPIのクラス識別子(CLSID)を保存しており、この値を参照してアプリケーションの起動を行うためだ。  WindowsシェルによってCLSIDが参照されるのは、拡張子によるアプリケーションの関連付けがない場合だ(アプリケーションの関連付けが存在する場合はそちらが優先される)。通常、関連付けが行われていない拡張子に対しては、[ファイルを開くアプリケーションの選択]ダイアログが開き、利用するアプリケーションの選択を行う。しかし、Wordの文書ファイルのようなOLE 
2ドキュメントにはCLSIDが埋め込まれており、Windowsシェルによってこの値が参照されて、対応するアプリケーションが起動する。CLSIDは、以下のようにファイル内に埋め込まれている(Wordの文書ファイルの場合)。 
 
| 4400: 52 00 6F 00 6F 00 74 00 20 00 45 00 6E 00 
74 00 R.o.o.t. .E.n.t.4410: 72 00 79 00 00 00 00 00 00 00 00 00 00 00 00 00 r.y.............
 4420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
 4430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
 4440: 16 00 05 01 FF FF FF FF FF FF FF FF 03 00 00 00 ................
 4450: 06 09 02 00 00 00 00 00 C0 00 00 00 00 00 00 46 ........タ......F
 |    この例では、4450行目がCLSIDで、WordのCLSIDである{00020906-0000-0000-C000-000000000046}が埋め込まれている。この部分を細工することで、アプリケーションに関連付けられていないファイルを実行させたり、ファイルに埋め込んだスクリプトをMSHTAによって実行させたりできる。  すでにこの情報を基にした実証コードを作成するためのツール(ソースコード)が公開されている。過去の例から、こうしたツールが公開されるとNetskyなどの有名なワームに組み込まれる(亜種が作成される)ことが多い。こうした亜種では、複数の脆弱性を悪用した複合的な攻撃が実行されるので、危険性は非常に高くなる。 ・ZwelL(MS05-016 POC):http://www.milw0rm.com/id.php?id=938
 | 
 
|  | 
 
|  | 
 
| 
 
| プラットフォーム | ダウンロード・センター | Windows Update/SUSの表示 |   
| Windows 2000 SP3/SP4 |  | Windows 2000 用セキュリティ更新プログラム (KB893086) |   
| Windows XP SP1/SP1a/SP2 |  | Windows XP 用セキュリティ更新プログラム (KB893086) |   
| Windows Server 2003 |  | Windows Server 2003 用セキュリティ更新プログラム (KB893086) |  | 
 
|  | 
 
|  | 
 
| 以下のファイルにパッチが適用される。障害の発生が懸念される場合は、これらのファイルのバックアップを取っておくとよい。 
 Windows 2000 SP3/SP4:
 
 
 
| ファイル名 | 日付 | バージョン | サイズ |   
| Windows2000-KB893086-x86-JPN.EXE | 2005/03/11 | 1.0.0.0 | 1,411,576 |  
 
| ファイル名 | 日付 | バージョン | サイズ | 機能 |   
| 展開フォルダ | %SystemRoot%\system32\ |   
| shell32.dll | 2005/03/04 | 5.0.3900.7032 | 2,359,056 | Windows Shell Common Dll |   
| shlwapi.dll | 2005/03/04 | 5.0.3900.7032 | 283,920 | Shell Light-weight Utility Library |  Windows XP SP1/SP1a/SP2:
 
 
 
| ファイル名 | 日付 | バージョン | サイズ |   
| WindowsXP-KB893086-x86-JPN.exe | 2005/03/19 | 1.0.0.0 | 4,634,864 |  
*背景が薄紫色のファイルは、MS05-008と同じもの 
| ファイル名 | 日付 | バージョン | サイズ | 機能 |   
| 展開フォルダ (sp1qfe)
 | %SystemRoot%\system32\ |   
| fldrclnr.dll | 2004/08/21 | 6.0.2800.1579 | 81,408 | Desktop Cleanup Wizard |   
| shell32.dll | 2005/03/12 | 6.0.2800.1643 | 8,254,464 | Windows Shell Common Dll |   
| sxs.dll | 2004/08/21 | 5.1.2600.1579 | 695,296 | Fusion 2.5 |   
|  | %SystemRoot%\WinSxS\x86_Microsoft.Windows.Common- Controls_6595b64144ccf1df_6.0.2600.1643_x-ww_7c3a9bc6\
 |   
| comctl32.dll | 2005/03/11 | 6.0.2800.1643 | 925,184 | User Experience Controls Library |   
| 展開フォルダ (sp2gdr)
 | %SystemRoot%\system32\ |   
| shell32.dll | 2005/03/01 | 6.0.2900.2620 | 8,355,840 | Windows Shell Common Dll |   
| 展開フォルダ (sp2qfe)
 
 | %SystemRoot%\system32\ |   
| shell32.dll | 2005/03/01 | 6.0.2900.2620 | 8,357,376 | Windows Shell Common Dll |  
 Windows Server 2003:
 
 
 
| ファイル名 | 日付 | バージョン | サイズ |   
| WindowsServer2003-KB893086-x86-jpn.exe | 2005/03/19 | 1.0.0.0 | 3,189,488 |  
 
| ファイル名 | 日付 | バージョン | サイズ | 機能 |   
| 展開フォルダ (rtmgdr)
 
 | %SystemRoot%\system32\ |   
| shell32.dll | 2005/03/02 | 6.0.3790.280 | 8,147,456 | Windows Shell Common Dll |   
| shell32.hp.dll | 2005/03/02 | − | 3,584 | − |   
| 展開フォルダ (rtmqfe)
 
 | %SystemRoot%\system32\ |   
| shell32.dll | 2005/03/02 | 6.0.3790.280 | 8,077,312 | Windows Shell Common Dll |  | 
 
|  | 
 
|  | 
 
|  修正プログラムが正しく適用できたかどうかは、以下のレジストリ・キーにある値を調べることで確認できる。 ・Windows 2000 SP3/SP4:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB893086\Filelist以下のファイル一覧を確認する
 ・Windows XP SP1/SP1a/SP2:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP3\KB893086\Filelist以下のファイル一覧を確認する
 ・Windows Server 2003:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP1\KB893086\Filelist以下のファイル一覧を確認する
 | 
 
|  | 
 
|  | 
 
|  何らかの理由から直ちに修正プログラムを適用できない場合には、以下に示す方法で脆弱性の回避が可能だ。ただしこの回避策は、脆弱性を根本的に解決するものではない。 ■HTML Application Hostアプリケーションの関連付けを削除する 
 [スタート]−[ファイル名を指定して実行]メニューを選択する。 [ファイル名を指定して実行]ダイアログに以下のコマンドを入力して、[OK]ボタンをクリックする。
 
 この変更を戻すには以下のコマンドを実行する。
 
 
  なお、この回避策を実行すると、.htaファイルとHTML Application Hostアプリケーションの関連付けが削除される。そのため、.htaファイルをダブルクリックすると、[ファイルを開くアプリケーションの選択]ダイアログが開くようになる。 | 
 
| 
 予想適用時間
 
 
 | 
 
| 
1コンソールのUpdateEXPERT 6.1で、今回の修正プログラムを適用するのにかかる時間を概算したもの。ネットワーク環境や適用するコンピュータの性能などによって適用時間は異なる。あくまでも目安として利用してほしい。 
| 修正プログラム名 | 50台 | 100台 | 250台 | 500台 |   
| Windows2000-KB893086-x86-JPN.EXE (Windows 2000 SP3/SP4)
 | 19分 | 27分 | 53分 | 1時間35分 |   
| WindowsXP-KB893086-x86-JPN.exe (Windows XP SP1/SP1a/SP2)
 | 19分 | 28分 | 55分 | 1時間44分 |   
| WindowsServer2003-KB893086-x86-jpn.exe (Windows Server 2003)
 | 19分 | 28分 | 54分 | 1時間38分 |  | 
 
| 
 UpdateEXPERT上の表示
 
 
 | 
 
| ・Windows 2000 SP3/SP4:[展開ビュー]−[OS]タブに「名前:Windows2000-KB893086-x86-JPN.EXE」で登録
 ・Windows XP SP1/SP1a/SP2:[展開ビュー]−[OS]タブに「名前:WindowsXP-KB893086-x86-JPN.exe」で登録
 ・Windows Server 2003:UpdateEXPERT 5.1:サポート対象外
 UpdateEXPERT 6.1:[展開ビュー]−[OS]タブに「名前:WindowsServer2003-KB893086-x86-jpn.exe」で登録
 | 
 
|  |