深刻度
|
→ |
1(緊急) |
|
2(重要) |
|
3(警告) |
|
4(注意) |
|
攻撃コードの有無
|
あり
|
対策
|
至急適用
|
再起動の必要性
|
必要
|
アンインストール
|
可
|
対象環境
|
|
セキュリティ情報
|
|
サポート技術情報
|
|
よく寄せられる質問
|
|
含まれる過去の修正
|
|
脆弱性識別番号
|
|
|
MS04-037/841356 |
Windowsシェル機能などの未チェック・バッファの脆弱性により、コンピュータの制御が完全に奪われてしまう危険性
|
(Windows シェルの脆弱性により、リモートでコードが実行される) |
緊急対応度:適用作業の至急開始
|
危険性 |
脆弱性による危険性を示す。「緊急適用」の場合、すでに攻撃コードが公開されているなど、脆弱性を悪用した攻撃が開始される可能性がある。「SP待ち」の場合、現時点では危険性がそれほど高くないため、サービスパックに反映されるまで待つことが可能であることを示す。 |
|
MS04-037の修正プログラムは、「シェルの脆弱性」と「Program Group Converterの脆弱性」を解消する。これらの脆弱性が悪用されると、リモートで任意のプログラムが実行される危険性がある。
攻撃は、この脆弱性を悪用したWebページを開くことで実行される。また、細工されたリンクを含む電子メールを表示させて、リンクをクリックするように誘導することで攻撃が実行される可能性もある。ユーザーが管理者権限でログオンしていた場合、攻撃者によって、プログラムのインストール、データの表示/変更/削除、完全な特権を持つ新規のアカウントの作成など、コンピュータの制御が完全に奪われる危険性もある。
すでにこの脆弱性に関する情報は一般に公開されており、実証コードも公開されている。ウイルスなどに悪用される懸念が高い脆弱性なので、至急、修正プログラムの適用を行いたい。
|
概要
|
「シェルの脆弱性」はWindowsシェルがアプリケーションを起動する際の処理に、「Program Group Converterの脆弱性」はProgram
Group Converterのリクエスト処理に、それぞれ未チェック・バッファの脆弱性が存在する。シェルの脆弱性では、細工が施されたデータがシェルに読み込まれると、バッファ・オーバーフローが発生し、任意のプログラムが実行される。これらの脆弱性を悪用した攻撃は、Webサイトに置かれた細工されたWebページを開くか、HTML形式の電子メールに埋め込まれた悪質なリンクをクリックさせるように誘導することで実行される。
なおWindowsシェルについては、「TechNetセキュリティ情報:MS04-024」でも脆弱性が指摘されている。ただしMS04-024の修正プログラムは、MS04-037に含まれているため、MS04-037のみを適用すればよい。
・HotFix Alert MS04-024(Windowsシェルの脆弱性により、リモートで任意のコードが実行される危険性):
http://www.hotfix.jp/archives/alert/2004/ms04-024.html
・TechNetセキュリティ情報 MS04-024(Windows シェルの脆弱性により、リモートでコードが実行される):
http://www.microsoft.com/japan/technet/security/bulletin/ms04-024.asp
|
対象プラットフォーム
|
影響を受けるソフトウェア |
対象プラットフォーム |
Windows NT Server 4.0 |
Windows NT Server 4.0 SP6a |
Windows NT Server 4.0 Terminal Server Edition |
Windows NT Server 4.0 Terminal Server Edition, SP6 |
Windows 2000 |
Windows 2000 SP3/SP4 |
Windows XP |
Windows XP SP未適用/SP1/SP1a |
Windows Server 2003 |
Windows Server 2003 |
|
|
‥‥‥ DA Lab:HotFixテスティング・チームからのコメント
‥‥‥
|
■適用テストの結果
DA Labでは、以下のプラットフォームで修正プログラムの適用テストを行った。
プラットフォーム
|
適用テスト結果
|
Windows NT Server 4.0 SP6a |
○
|
Windows NT Server 4.0 SP6a+E 6.0 SP1 |
○
|
Windows NT Server 4.0 SP6a+IE 4.01 SP1(ActiveDesktop)+IE
6.0 SP1 |
○
|
Windows 2000 Professional SP3 |
○
|
Windows 2000 Professional SP4+IE 6.0 SP1 |
○
|
Windows 2000 Server SP4 |
○
|
Windows 2000 Advanced Server SP4 |
○
|
Windows XP SP未適用 |
○
|
Windows XP SP未適用+IE 6.0 SP1 |
○
|
Windows XP SP1a |
○
|
Windows Server 2003, Standard Edition |
○
|
Windows Server 2003, Enterprise Edition |
○
|
■Windows 98/98SE/Meにも脆弱性あり
TechNetセキュリティ情報によれば、Windows 98/98SEにはProgram Group Converterの脆弱性が、Windows MeにはシェルとProgram
Group Converterの双方の脆弱性が存在する。ただしマイクロソフトはこれらを「緊急ではない」と判断しており、修正プログラムの提供は行われない。
■Windows NT Workstation 4.0 SP6a/2000 SP2向け修正プログラムは提供されない
Windows NT Workstation 4.0 SP6a/2000 SP2は、2004年6月30日にサポート・ライフサイクルが終了したため、MS04-037の修正プログラムは提供されない。Windows
2000 SP2は、まずSP3またはSP4を適用してから、対応する修正プログラムを適用する。一方、Windows NT Workstation 4.0 SP6aについては、脆弱性を解消する手段がないため、OS自体のバージョンアップが必要だ。
■Windows XP向け修正プログラムに対する注意
Windows XP SP未適用は、ライフサイクル・ポリシーにより、2004年9月30日に延長サポートが終了している。しかしマイクロソフトは、MS04-037の修正プログラムに関しては開発作業が9月30日時点でほぼ終了していたため、提供を行ったとしている。今後は、サポート期限を過ぎたWindows
XP SP未適用に対する修正プログラムの提供が行われない可能性が高い。早期にサービスパック(可能なら最新のSP2)の適用を行った方がよい。
またWindows XP SP1/SP1aの場合、MS04-037の修正プログラムは、Windows XPのサイド・バイ・サイド機能を利用してcomctl32.dll(User
Experience Controls Library)というファイルを更新する。その際、このファイルは%Systemroot%\WinSxS以下に保存され、既存の%Systemroot%\system32\comctl32.dllは更新されない。テストした限りでは、新しいcomctl32.dllは「%Systemroot%\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.1579_x-ww_7bbf8d08」というフォルダに保存された。適用後にこのファイルのバージョンを確認する際には注意が必要だ。
■Windows XPとWindows Server 2003はShellプロトコルが一部無効化される
MS04-037の修正プログラムを適用すると、Windows XPとWindows Server 2003ではShellプロトコルが無効化される。これにより、特定の種類の不正なリクエストが処理される際に、既知のファイル名の拡張子マッピングを使用するアプリケーションが自動的に開始されなくなる。またShellプロトコルによって、システム・オブジェクトとフォルダの参照は可能だが、ファイルは参照できなくなった。WebアプケーションなどでShellプロトコルを利用している場合は、事前に動作を確認しておきたい。なおこの仕様は、Windows
XP SP2ですでに導入されている。
■Internet Explorer 5.5は、この修正プログラムの適用前にバージョンアップすべき
MS04-037のWindows 2000/XP向け修正プログラムは、Internet Explorerのバージョンに合わせて、shlwapi.dllというファイルをそれぞれ適切なバージョンに更新する。しかし、実際にテストした限りでは、Internet
Explorer 5.5 SP2だとshlwapi.dllは更新されなかった(ただしエラーにはならなかった)。これが正常な動作なのかどうかは不明だが、すでにInternet
Explorer 5.5はマイクロソフトのサポート対象から外れている。Windows 2000だけではなくWindows NT Server 4.0についても、早急に最新のInternet
Explorerにバージョンアップしてから、この修正プログラムを適用すべきだろう。
■Windows NT Server 4.0向け修正プログラムはアクティブデスクトップの有無に関係なく1種類のみ
従来、シェルの脆弱性を解消するWindows NT 4.0向け修正プログラム(MS04-024など)は、アクティブデスクトップのインストールの有無によって、異なるものがそれぞれ提供されていた。しかしMS04-037では、1種類の修正プログラムだけでアクティブデスクトップがインストール済みでも未インストールでも対応可能であり、どちらの環境にも適用できる。具体的には、適用先のコンピュータにアクティブデスクトップがインストール済みの場合は、ファイルバージョン4.7x系列のshell32.dllが、そうでない場合は4.0系列のshell32.dllが、自動的に選択されて書き込まれるようになった。
■Internet Explorerの累積修正プログラムによって更新されてきたファイルを含む
shlwapi.dllは、これまでInternet Explorerの累積修正プログラムでも更新されてきたファイルである。万一のバージョンダウンを防ぐため、MS04-037の累積修正プログラムを適用したら、なるべくInternet
Explorerの累積修正プログラムは同時に提供された最新のMS04-038を適用した方がよいだろう。調査した限りでは、MS04-037とMS04-038の間でshlwapi.dllのファイルバージョンは共通だった。
■MBSA 1.21の結果
MS04-037の修正プログラムが正しく適用されているかどうかは、MBSA 1.21で確認可能だ。未適用の場合は、「Windowsのセキュリティの更新」の「結果の詳細情報」に、「Windows
シェルの脆弱性により、リモートでコードが実行される (841356)」が表示される。
|
|
|
MS04-037の修正プログラムは、以下の2つの脆弱性を解消する。
・シェルの脆弱性(最大深刻度:緊急)
Windowsシェルとは、フォルダやファイルなどのオブジェクトを階層的な名前空間で整理し、ユーザーやアプリケーションがオブジェクトを管理するにあたり一貫した方法を提供するものである。そのWindowsシェルがアプリケーションを起動する方法にバッファ・オーバーフローの脆弱性があり、リモートでプログラムが実行される危険性がある。
・Program Group Converterの脆弱性(最大深刻度:重要)
Program Group Converter(grpconv.exe)とは、Windows 3.1/3.11などの古いWindowsから、Windows
95以降のOSで使用できるように、Program Manager Groupファイルを変換する際に利用されるものだ。Windows 3.1/3.11などの古いWindowsのグループや項目を、フォルダとリンクに変換することによって、過去のWindowsとの互換性を実現している。
このProgram Group Converterがリクエストを処理する方法にバッファ・オーバーフローの脆弱性があり、細工されたリクエストを受け取ると、任意のプログラムが実行される危険性がある。Webページや電子メールに仕込んだ細工したリンクをユーザーにクリックさせることで攻撃が実行される。また、細工をした.grpファイルをユーザーに送信して、そのファイルをユーザーが開くように誘導する、この脆弱性の影響を受けるコンポーネントにパラメータを渡す別のプログラムによって攻撃が実行される危険性もある。
|
|
|
プラットフォーム |
ダウンロード・センター |
Windows Update/Office Update/SUSの表示 |
Windows NT Server 4.0 SP6a |
|
− |
Windows NT Server 4.0 Terminal Server Edition, SP6 |
|
− |
Windows 2000 SP3/SP4 |
|
Windows 2000 用セキュリティ更新プログラム (KB841356) |
Windows XP SP未適用/SP1/SP1a |
|
Windows XP 用セキュリティ更新プログラム (KB841356) |
Windows Server 2003 |
|
Windows Server 2003 用セキュリティ更新プログラム (KB841356) |
|
|
|
以下のファイルにパッチが適用される。障害の発生が懸念される場合は、これらのファイルのバックアップを取っておくとよい。
Windows NT Server 4.0 SP6a:
ファイル名 |
日付 |
バージョン |
サイズ |
WindowsNT4Server-KB841356-x86-JPN.exe |
2004/08/23 |
5.50.4925.2200 |
1,417,736
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\system32\ |
SHELL32.DLL
(ADSHELL32.DLL) |
2004/07/31 |
4.72.3843.3100 |
1,770,720
|
Windows Shell Common Dll |
NTLANMAN.DLL |
2004/06/08 |
4.0.1381.7282 |
41,840
|
Microsoft Lan Manager |
GRPCONV.EXE
(NWGRPCONV.EXE) |
2004/07/21 |
5.0.2195.6960 |
41,744
|
Windows Progman Group Converter |
GRPCONV.EXE
(OSGRPCONV.EXE) |
2004/08/05 |
4.0.1381.7300 |
50,352
|
Windows Progman Group Converter |
SHELL32.DLL
(OSSHELL32.DLL) |
2004/08/16 |
4.0.1381.7267 |
1,340,176
|
Windows Shell Common Dll |
SHLWAPI.DLL |
2004/08/20 |
6.0.2800.1584 |
422,400
|
Shell Light-weight Utility Library |
*()内が修正プログラムに含まれるファイル名。適用時にファイル名が変換される。アクティブデスクトップがインストール済みならADSHELL32.DLLが、未インストールならOSSHELL32.DLLがそれぞれコピーされる。
Windows NT Server 4.0 Terminal Server Edition, SP6:
ファイル名 |
日付 |
バージョン |
サイズ |
WindowsNT4TerminalServer-KB841356-x86-JPN.exe |
2004/08/23 |
5.50.4925.2200 |
931,336
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\system32\ |
NTLANMAN.DLL |
2004/06/11 |
4.0.1381.39788 |
41,840
|
Microsoft Lan Manager |
GRPCONV.EXE
(NWGRPCONV.EXE) |
2004/07/21 |
5.0.2195.6960 |
41,744
|
Windows Progman Group Converter |
GRPCONV.EXE
(OSGRPCONV.EXE) |
2004/08/04 |
4.0.1381.39797 |
50,352
|
Windows Progman Group Converter |
SHELL32.DLL
(OSSHELL32.DLL) |
2004/08/16 |
4.0.1381.39800 |
1,360,768
|
Windows Shell Common Dll |
SHLWAPI.DLL |
2004/08/20 |
6.0.2800.1584 |
422,400
|
Shell Light-weight Utility Library |
Windows 2000 SP3/SP4:
ファイル名 |
日付 |
バージョン |
サイズ |
Windows2000-KB841356-x86-JPN.EXE |
2004/09/18 |
5.5.31.0 |
2,213,368
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\System32\ |
grpconv.exe |
2004/09/03 |
5.0.2195.6966 |
41,744
|
Windows Progman Group Converter |
linkinfo.dll |
2004/09/02 |
5.0.2195.6958 |
17,168
|
Windows Volume Tracking |
ntlanman.dll |
2004/09/03 |
5.0.2195.6824 |
35,088
|
Microsoft Lan Manager |
shell32.dll |
2004/09/18 |
5.0.3900.6975 |
2,358,544
|
Windows Shell Common Dll |
shlwapi.dll |
2004/08/20 |
5.0.3900.6969 |
282,384
|
Shell Light-weight Utility Library |
sp3res.dll |
2004/08/27 |
5.0.2195.6970 |
465,920
|
Service Pack 3 Messages |
webvw.dll |
2004/09/18 |
5.0.3900.6975 |
1,122,064
|
Shell WebView Content & Control Library |
shlwapi.dll
(xpclnt_qfe_binarydrop) |
2004/08/20 |
6.0.2750.167 |
393,216
|
Shell Light-weight Utility Library |
shlwapi.dll
(xpsp2_binarydrop) |
2004/08/20 |
6.0.2800.1584 |
422,400
|
Shell Light-weight Utility Library |
*IE 5.01 SP3/SP4ではshlwapi.dllが、またIE
6ではshlwapi.dll(xpclnt_qfe_binarydrop)が、IE 6 SP1ではshlwapi.dll(xpsp2_binarydrop)がそれぞれインストールされる。
Windows XP SP未適用/SP1/SP1a:
ファイル名 |
日付 |
バージョン |
サイズ |
WindowsXP-KB841356-x86-jpn.exe |
2004/09/30 |
1.0.0.0 |
4,415,720
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ
(SP未適用)
|
%SystemRoot%\System32\ |
fldrclnr.dll |
2004/08/21 |
6.0.2750.165 |
83,968
|
Desktop Cleanup Wizard |
grpconv.exe |
2004/08/21 |
5.1.2600.166 |
37,888
|
Windows Progman Group Converter |
linkinfo.dll |
2004/08/21 |
5.1.2600.165 |
15,872
|
Windows Volume Tracking |
ntlanman.dll |
2004/08/21 |
5.1.2600.165 |
37,376
|
Microsoft Lan Manager |
shell32.dll |
2004/08/21 |
6.0.2750.166 |
8,133,632
|
Windows Shell Common Dll |
shlwapi.dll |
2004/08/21 |
6.0.2750.167 |
393,216
|
Shell Light-weight Utility Library |
xpsp1hfm.exe |
2004/09/19 |
5.5.31.0 |
30,720
|
Windows XP SP1 Service Pack Hotfix Migration Tool |
展開フォルダ
(SP1/SP1a)
|
%SystemRoot%\System32\ |
fldrclnr.dll |
2004/08/21 |
6.0.2800.1579 |
81,408
|
Desktop Cleanup Wizard |
grpconv.exe |
2004/08/21 |
5.1.2600.1580 |
37,888
|
Windows Progman Group Converter |
linkinfo.dll |
2004/08/21 |
5.1.2600.1579 |
15,872
|
Windows Volume Tracking |
shell32.dll |
2004/08/21 |
6.0.2800.1580 |
8,348,160
|
Windows Shell Common Dll |
shlwapi.dll* |
2004/08/21 |
6.0.2800.1584 |
422,400
|
Shell Light-weight Utility Library |
sprt0411.dll |
2004/07/30 |
5.1.2600.1580 |
564,736
|
Service Pack 2 Messages |
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.1579_x-ww_7bbf8d08 |
comctl32.dll |
2004/08/20 |
6.0.2800.1579 |
921,600
|
User Experience Controls Library |
*IE 6 SP1の場合、たとえWindows XP
SP未適用でも、このshlwapi.dll(6.0.2800.1584)がコピーされる。
Windows Server 2003:
ファイル名 |
日付 |
バージョン |
サイズ |
WindowsServer2003-KB841356-x86-jpn.EXE |
2004/09/25 |
1.0.0.0 |
2,989,296
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ
(RTMGDR)
|
%SystemRoot%\system32\ |
grpconv.exe |
2004/08/24 |
5.2.3790.205 |
40,448
|
Windows Progman Group Converter |
shell32.dll |
2004/08/24 |
6.0.3790.205 |
8,076,288
|
Windows Shell Common Dll |
shlwapi.dll |
2004/08/24 |
6.0.3790.205 |
286,720
|
Shell Light-weight Utility Library |
展開フォルダ
(RTMQFE)
|
%SystemRoot%\system32\ |
grpconv.exe |
2004/08/24 |
5.2.3790.205 |
36,864
|
Windows Progman Group Converter |
shell32.dll |
2004/08/24 |
6.0.3790.205 |
8,076,800
|
Windows Shell Common Dll |
shlwapi.dll |
2004/08/24 |
6.0.3790.205 |
286,720
|
Shell Light-weight Utility Library |
|
|
|
修正プログラムが正しく適用できたかどうかは、以下のレジストリ・キーにある値を調べることで確認できる。
・Windows NT Server 4.0 SP6a/Terminal Server Edition, SP6:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{dccb3000-9408-4772-b113-b600e1311cef}
のIsInstalled(DWORD値)が「1」であることを確認
・Windows 2000 SP3/SP4:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB841356\Filelist以下のファイル一覧を確認する
・Windows XP SP未適用/SP1/SP1a:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\KB841356\Filelist以下のファイル一覧を確認する
・Windows Server 2003:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP1\KB841356\Filelist以下のファイル一覧を確認する
|
|
|
何らかの理由から直ちに修正プログラムを適用できない場合には、以下に示す方法で、.grpファイルとgrpconv.exeの関連付けを削除すると、Program
Group Converterの脆弱性は回避できる。ただしこの回避策は、脆弱性を根本的に解決するものではない。また、これらの回避策を用いても、今回の脆弱性をすべて回避することはできないので注意したい。
- 対象のコンピュータのローカルな管理者権限でログオンする。
- メモ帳などでun-grpconv.infと名前を付けたテキスト・ファイルを作成し、以下のコードを記述する。
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
DelReg=DisableGrpAssociation.DelReg
AddReg=DisableGrpAssociation.AddReg
[DisableGrpAssociation.DelReg]
HKCR,"MSProgramGroup"
[DisableGrpAssociation.AddReg]
HKCR,".grp",,,""
HKCR,"MSProgramGroup",,,""
[DisableGrpAssociation.AddReg.Security]
"D:(D;CI;6;;;WD)(A;ID;KR;;;BU)(A;CIIOID;GR;;;BU)(A;ID;0x3001F;;;PU)
(A;CIIOID;SDGWGR;;;PU)(A;ID;KA;;;BA)(A;CIIOID;GA;;;BA)(A;ID;KA;;;SY)
(A;CIIOID;GA;;;SY)(A;CIIOID;GA;;;CO)" |
- un-grpconv.inf上で右クリックし、[インストール]メニューを選択する。
.grpファイルとgrpconv.exeの関連付けを既定の動作に戻すには、以下の手順を実行する。
- . 対象のコンピュータのローカルな管理者権限でログオンする。
- grpconv.infと名前を付けたファイルを作成し、以下のコードを記述する。
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
DelReg=EnableGrpAssociation.DelReg
[EnableGrpAssociation.DelReg]
HKCR,"MSProgramGroup"
HKCR,".grp |
- grpconv.inf上で右クリックし、[インストール]メニューを選択する。
|
予想適用時間
|
修正プログラム名 |
50台 |
100台 |
250台 |
500台 |
WindowsNT4Server-KB841356-x86-JPN.exe
(Windows NT Server 4.0 SP6a) |
19分 |
27分 |
53分 |
1時間35分 |
Windows2000-KB841356-x86-JPN.EXE
(Windows 2000) |
19分 |
27分 |
53分 |
1時間36分 |
WindowsXP-KB841356-x86-jpn.exe
(Windows XP SP)
|
19分 |
28分 |
56分 |
1時間41分 |
WindowsServer2003-KB841356-x86-jpn.EXE
(Windows Server 2003) |
19分 |
28分 |
54分 |
1時間38分 |
1コンソールのUpdateEXPERT 6.1で、今回の修正プログラムを適用するのにかかる時間を概算したもの。ネットワーク環境や適用するコンピュータの性能などによって適用時間は異なる。あくまでも目安として利用してほしい。
|
UpdateEXPERT上の表示
|
・Windows NT Server 4.0 SP6a:
UpdateEXPERT 5.1:[展開ビュー]−[OS]タブに「名前:NT4SVR-KB841356-x86-JPN.exe」で登録
UpdateEXPERT 6.1:[展開ビュー]−[OS]タブに「名前:WindowsNT4Server-KB841356-x86-JPN.exe」で登録
・Windows 2000 SP3/SP4:
[展開ビュー]−[OS]タブに「名前:Windows2000-KB841356-x86-JPN.EXE」で登録
・Windows XP SP未適用/SP1/SP1a:
[展開ビュー]−[OS]タブに「名前:WindowsXP-KB841356-x86-jpn.exe」で登録
・Windows Server 2003:
UpdateEXPERT 5.1:サポート対象外
UpdateEXPERT 6.1:[展開ビュー]−[OS]タブに「名前:WindowsServer2003-KB841356-x86-jpn.EXE」で登録
|
|
|