MS06-071/928088 |
MSXMLのXMLHTTP ActiveXコントロールの脆弱性により、リモートで任意のコードが実行される危険性 |
(Microsoft XML コアサービスの脆弱性により、リモートでコードが実行される) |
対応の緊急性:至急適用 [攻撃コード公開済み][攻撃事例あり]
|
危険性 |
|
脆弱性による危険性を示す。「緊急適用」の場合、すでに攻撃コードが公開されているなど、脆弱性を悪用した攻撃が開始される可能性がある。「SP待ち」の場合、現時点では危険性がそれほど高くないため、サービスパックに反映されるまで待つことが可能であることを示す。 |
可能性のある攻撃
攻撃手法
|
脆弱性の影響
|
リモート攻撃 |
ウイルス/ワーム |
電子メール添付 |
Webサイトへの誘導 |
コードの実行 |
権限の昇格 |
情報の漏えい |
サービス拒否 |
なりすまし |
|
|
|
○
|
○
|
|
|
|
|
|
|
|
|
Microsoft XMLコア・サービスのXMLHTTP ActiveXコントロールの脆弱性により、任意のコードが実行される危険性がある。攻撃は、細工したWebページを開くように誘導することで実行される。Webページを開くと、ユーザーの操作なしに攻撃が実行されてしまう。スパイウェアやトロイの木馬のインストールなどに悪用されることが懸念される。
すでに実証コードが公開されており、攻撃例も報告されている。MS06-071の脆弱性の対象となっているMSXML 4.0と6.0は、Windows OSに標準でインストールされているコンポーネントではないが、各種のアプリケーションに同梱されており、一緒にインストールされることがある。そのため、MSXML
4.0/6.0をインストールした覚えがなくても、インストールされていることがある。msxml4.dllやmsxml6.dllが%SystemRoot%\system32\フォルダに存在しているかどうかを確認し、存在している場合は、至急、対応の修正プログラムを適用した方がよい。
|
脆弱性の内容
|
XMLHTTP ActiveXコントロールにメモリ破損の脆弱性が存在する(2006/11/08日付け配信のHotFix Weeklyで報告済み)。XMLHTTP
ActiveXコントロール内のsetRequestHeader()メソッドに細工された引数が設定されると、メモリ破損を引き起こすエラーが発生する。細工されたWebページをInternet
Explorer(IE)で開くだけで、任意のコードが実行される危険性がある。
・HotFix Weekly 2006/11/08日付け配信(MSXMLのメモリ破損の脆弱性により、任意のコードが実行される危険性):
http://www.hotfix.jp/archives/alert/2006/news06-1108.html#01
上記の時点で対象はMSXML 4.0だけだったが、今回MSXML 6.0にも影響が及ぶことが明らかになった。
|
対象プラットフォーム
|
影響を受けるソフトウェア |
対象プラットフォーム |
MSXML 4.0 |
Windows 2000 SP4、Windows XP SP2、Windows Server 2003 SP未適用/SP1/R2+MSXML 4.0
SP2* |
MSXML 6.0 |
Windows 2000 SP4、Windows XP SP2、Windows Server 2003 SP未適用/SP1/R2+MSXML 6.0
RTM |
*「サポート技術情報:927978」によれば、MSXML
4.0 SP未適用/SP1にも適用可能 |
|
‥‥‥ DA Lab:HotFixテスティング・チームからのコメント
‥‥‥
|
■適用テストの結果
DA Labでは、以下のプラットフォームで修正プログラムの適用テストを行った。
プラットフォーム
|
適用テスト結果
|
Windows 2000 Professional SP4+MSXML 4.0 SP2 |
○
|
Windows 2000 Professional SP4+MSXML 6.0 RTM |
○
|
Windows 2000 Server SP4+Office Pro 2003 SP2+MSXML 4.0 SP2+MSXML
6.0 RTM |
○
|
Windows 2000 Advanced Server SP4+MSXML 4.0 SP2+MSXML 6.0 RTM |
○
|
Windows XP Professional SP2+MSXML 4.0 SP2 |
○
|
Windows XP Professional SP2+MSXML 6.0 RTM |
○
|
Windows Server 2003, Standard Edition SP未適用+MSXML 6.0 RTM |
○
|
Windows Server 2003, Enterprise Edition SP未適用+MSXML 4.0 SP2 |
○
|
Windows Server 2003, Standard Edition SP1+MSXML 4.0 SP2 |
○
|
Windows Server 2003, Enterprise Edition SP1+MSXML 6.0 RTM |
○
|
Windows Server 2003 R2, Standard Edition+MSXML 6.0 RTM |
○
|
Windows Server 2003 R2, Enterprise Edition+MSXML 4.0 SP2 |
○
|
○は問題なし、△は一部に問題あり、×は適用による障害あり |
■MBSA 2.0の結果
MS06-071の修正プログラムが正しく適用されているかどうかは、MBSA 2.0で確認可能である。未適用の場合は、「Windowsのセキュリティの更新プログラム」の「結果の詳細情報」に以下のいずれかが表示される。
- MSXML 4.0 SP2 セキュリティ更新プログラム (KB927978)
- MSXML 6.0 RTM セキュリティ更新プログラム (KB927977)
|
適用時の注意点
|
■MSXML 4.0 SP未適用/SP1にも適用可能?
MS06-061のMSXML 4.0 SP2向け修正プログラムは、元のバージョンがMSXML 4.0 SP2ではなくMSXML 4.0 SP未適用またはSP1だった場合、Microsoft
Updateや自動更新などで適用することができなかった(リストアップされない)。
しかしMS06-071では、対応する「サポート技術情報:927978」にMSXML 4.0向け修正プログラムを用いて既存のMSXML 4.0 SP未適用/SP1が更新できることが明記されている。TechNetセキュリティ情報にはMSXML
4.0 SP2向けと記載されているものの、実際にはMSXML 4.0 SP未適用/SP1に対しても適用可能であるということだ(Windows Update/Microsoft
Updateでもリストアップされる)。
・サポート技術情報 927978(MS06-071: Microsoft XML コア サービス 4.0 のセキュリティ更新プログラム)
http://support.microsoft.com/default.aspx?scid=kb;ja;927978
実際、MS06-071のMSXML 4.0向け修正プログラムをMSXML 4.0 SP未適用/SP1に適用してみたところ、特にエラーもなく正常に適用できた(適用後のサービスパック・レベルはSP2になる)。MS06-071の修正プログラムを適用するために、前もってMSXML
4.0 SP2に更新する必要はないわけだ。
■異なるバージョンのMSXMLがインストールされている場合はそれぞれに修正プログラムの適用が必要
MSXMLは、1つのコンピュータに異なる複数のバージョンがインストールされている可能性がある。このような場合、それぞれのバージョンに対応した修正プログラムを適用する必要がある。MS06-071を例に挙げると、MSXML
4.0とMSXML 6.0の両方がインストールされているコンピュータでは、それぞれに対応した修正プログラムを適用する必要がある。
|
|
|
プラットフォーム |
ダウンロード・センター |
WU/MU/SUS/WSUSの表示 |
MSXML 4.0 SP2 |
|
MSXML 4.0 SP2 セキュリティ更新プログラム (KB927978) |
MSXML 6.0 RTM |
|
MSXML 6.0 RTM セキュリティ更新プログラム (KB927977) |
|
|
|
以下のファイルにパッチが適用される。障害の発生が懸念される場合は、これらのファイルのバックアップを取っておくとよい。
MSXML 4.0 SP2:
ファイル名 |
日付 |
バージョン |
サイズ |
msxml4-KB927978-jpn.exe
|
2006/11/07 |
1.0.0.0 |
5,637,400
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\system32\ |
msxml4.dll |
2006/11/04 |
4.20.9841.0 |
1,245,696
|
MSXML 4.0 SP 2 |
msxml4r.dll |
2006/11/04 |
4.10.9404.0 |
82,432
|
MSXML 4.0 SP1 Resources |
PROXYCFG.EXE* |
2001/09/07 |
5.0.2613.0 |
22,528
|
Proxy Config Tool for Windows HTTP Services |
|
%SystemRoot%\WinSxS\x86_Microsoft.MSXML2_
6bd6b9abf345378f_4.20.9841.0_x-ww_18171213\ |
msxml4.dll |
2006/11/04 |
4.20.9841.0 |
1,245,696
|
MSXML 4.0 SP 2 |
*これよりも古いバージョンが存在する場合にのみ置き換わる。
MSXML 6.0 RTM:
ファイル名 |
日付 |
バージョン |
サイズ |
msxml6-KB927977-jpn-x86.exe
|
2006/11/05 |
1.0.0.0 |
918,272
|
ファイル名 |
日付 |
バージョン |
サイズ |
機能 |
展開フォルダ |
%SystemRoot%\system32\ |
msxml6.dll |
2006/11/04 |
6.0.3890.0 |
1,321,744
|
MSXML 6.0 |
msxml6r.dll |
2006/10/19 |
6.0.3883.0 |
86,728
|
MSXML Resources |
|
|
|
修正プログラムが正しく適用できたかどうかは、以下のレジストリ・キーにある値を調べることで確認できる。
・MSXML 4.0 SP2:
修正プログラムが正しく適用できたかどうかは、msxml4.dllのファイルのバージョンをプロパティで調べることで確認できる。
・MSXML 6.0 RTM:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSXML 6.0 Parser and SDK\CurrentVersionを確認する
|
|
|
何らかの理由で直ちに修正プログラムを適用できない場合には、以下に示す方法で回避が可能だ。ただしこの回避策は、脆弱性を根本的に解決するものではない。
■XMLHTTP ActiveXコントロールにkillbitを設定する
XMLHTTP ActiveXコントロールにkillbitを設定し、IEからXMLHTTP ActiveXコントロールを呼び出せなくすることで、攻撃を回避可能だ。レジストリ・エディタを起動し、XMLHTTP
4.0/XMLHTTP 6.0 ActiveXコントロールに対するCLSID(クラス識別子)にkillbitを設定する。
具体的には、下表の2つのレジストリ・キーに対して、値「Compatibility Flags(DWORD型)」のデータとして「0x00000400」を設定すればよい。
キー: |
(XMLHTTP 4.0)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\ActiveX Compatibility\{88d969c5-f192-11d4-a65f-0040963251e5}
(XMLHTTP 6.0)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{88d96a0a-f192-11d4-a65f-0040963251e5}
|
名前: |
Compatibility Flags(DWORD型) |
データ: |
0x00000400 |
設定を有効にするには、Internet Explorerの再起動が必要である。なお、この回避策を実行すると、XMLHTTP 4.0/XMLHTTP
6.0 ActiveXコントロールを使用しているWebサイトが、正しく表示・機能しなくなるので注意が必要だ。
|
予想適用時間
|
修正プログラム名 |
50台 |
100台 |
250台 |
500台 |
msxml4-KB927978-jpn.exe
(MSXML 4.0 SP2) |
19分 |
28分 |
55分 |
1時間41分 |
msxml6-KB927977-jpn-x86.exe
(MSXML 6.0 RTM) |
18分 |
27分 |
52分 |
1時間35分 |
1コンソールのUpdateEXPERT 6.1で、今回の修正プログラムを適用するのにかかる時間を概算したもの。ネットワーク環境や適用するコンピュータの性能などによって適用時間は異なる。あくまでも目安として利用してほしい。
|
UpdateEXPERT上の表示
|
・MSXML 4.0 SP2:
[展開ビュー]−[XML Web Services]タブに「名前:msxml4-KB927978-jpn.exe」で登録
・MSXML 6.0 RTM:
[展開ビュー]−[XML Web Services]タブに「名前:msxml6-KB927977-jpn-x86.exe」で登録
|
|