このページは、HotFix Reportで配信されたセキュリティ情報のバックナンバーです。「更新日」に明記された時点での情報ですのでご注意ください。ご購読の申し込みは「HotFix Report購読の申し込み」 をご参照ください。

トップページ サービスの詳細 セキュリティ情報 購読の申し込み
 
 
Windowsプラットフォーム向けHotFix情報サービス
HotFix Alert:2004/01/15日版

   
【登録日】2004/01/15
【更新日】2004/01/20
深刻度
  1(緊急)
2(重要)
  3(警告)
  4(注意)
対策
早期適用
再起動の必要性
あり
アンインストール
不可
対象環境
サーバ
クライアント
セキュリティ情報
MS04-003(日本)
MS04-003(US)
サポート技術情報
よく寄せられる質問
セキュリティ情報
fq04-003
含まれる過去の修正
脆弱性識別番号
更新履歴
2004/01/14 セキュリティ情報ページを公開
MS04-003/832483
MDACの未チェック・バッファの脆弱性により、コンピュータの制御を取得されてしまう危険性
(MDAC機能のバッファ オーバーランにより、コードが実行される)
 

対応策: 早期に修正プログラムの適用作業を開始してください。
 
概要

 MDAC(Microsoft Data Access Components)に未チェック・バッファの脆弱性が存在します。この脆弱性により、MDACを使用するプログラムを実行しているユーザー・アカウントの権限で、任意のプログラムが攻撃者によって実行される危険性があります。そのプログラムがローカル・システムの権限で実行されている場合、攻撃者によってシステムが破壊される可能性があります。

 MDACは、Windows 2000、SQL Server 2000、Windows XP、Windows Server 2003の一部としてインストールされるほか、マイクロソフトのUniversal Data Access関連ダウンロード・ページから単体版を入手してインストールすることも可能です。OSの一部としてデフォルトでインストールされていることから、ほとんどのコンピュータが脆弱性の影響を受けます。

・Universal Data Access関連ダウンロード・ページ:
http://www.microsoft.com/japan/msdn/data/download.asp

 ただし今回の脆弱性を攻撃するには、攻撃対象とするコンピュータと同一のサブネット上でSQL Serverをシミュレートする必要があり、インターネットなど外部ネットワークから直接攻撃される可能性は低いものと思われます。これは、ネットワーク内でSQL ServerやMDACを実行しているコンピュータのリストをブロードキャスト通信で一覧する処理部分に脆弱性が存在するためです。しかし、ほかの脆弱性と組み合わせて攻撃するワームにより、社内からの攻撃に悪用される可能性も考えられます。なるべく早期に修正プログラムの適用作業を開始してください。

 
対象プラットフォーム
 修正プログラムを適用するには、以下の対象プラットフォームに示されているサービスパックの適用が必要になります。
 
影響を受けるソフトウェア 対象プラットフォーム
Microsoft Data Access Components 2.5 MDAC 2.5 SP2/SP3(Windows 2000 SP2/SP3/SP4、Windows NT 4.0+MDAC 2.5 SP2/SP3)
Microsoft Data Access Components 2.6 MDAC 2.6 SP2(Windows 2000/NT 4.0+SQL Server 2000 SP2など)
Microsoft Data Access Components 2.7 MDAC 2.7/2.7 Refresh/2.7 SP1/2.7 SP1 Refresh(Windows 2000/NT 4.0+SQL Server 2000 SP3/SP3a、Windows XP SP未適用/SP1/SP1aなど)
Microsoft Data Access Components 2.8 MDAC 2.8(Windows Server 2003など)
(注意) 「対象プラットフォーム」に含まれていなくても、単体で配布されているMDAC 2.5〜2.8をインストールしている場合は、この脆弱性の影響を受けるため、修正プログラムの適用が必要となります。
 
詳細情報

 MDACは、SQL ServerやMicrosoft Access、XMLなどのデータソースに対して共通の方法でアクセスする機能を提供し、プログラムによるデータベース・アクセスを支援します。

 ネットワーク上のクライアントは、SQL Serverを実行しているコンピュータなどのリスト(一覧)を参照する際に、ネットワーク上のすべてのデバイスに対してブロードキャスト・リクエストを送信します。SQL Serverなどは、このブロードキャスト・リクエストに対して、UDPポート1434番を使って応答します。MDACは、その応答を受信し、接続可能なSQL Serverなどを列挙します。

 ところがMDACの応答処理に未チェック・バッファが存在するため、UDPポート1434番に対する不正なUDPパケットをMDACが受信すると、バッファ・オーバーランが発生します。これにより、MDACを使用するプログラムを実行しているユーザー・アカウントの権限で、任意のプログラムが実行される危険性があります。ただし、攻撃者がこの攻撃を悪用するには、ネットワーク上にSQL Serverの動作をシミュレートするサーバを設置し、MDACのリクエストに対して不正なUDPパケットを返信しなければなりません。このような攻撃をインターネットから直接実行することは困難だと思われます。

 
DA Lab:HotFixテスティング・チームからのコメント

 修正プログラムは、UpdateEXPERTが管理対象とするすべての適用対象プラットフォームにおいて適用テストを通過しました。

■sqlsrv32.dllの言語属性
 MS04-003に含まれるMS03-033の修正プログラムでは、MDAC 2.5 SP2/SP3用のsqlsrv32.dll(ODBCドライバ)の言語属性が「英語(米国)」に変更されていたことから、修正プログラムの適用によって、SQL ServerへODBCで接続したときに表示されるメッセージが、日本語表記から英語表記になってしまうという不具合がありました。MS04-003では、MDAC 2.5 SP2/SP3用のsqlsrv32.dllの言語属性が「日本語」に戻り、この不具合も解消されました。なお、MDAC 2.6以降のsqlsrv32.dllの言語属性は「英語(米国)」など「日本語」以外となっていますが、sqlsrv32.dllの言語属性とは無関係に日本語のメッセージが表示されます。

■サービスパックの適用で修正プログラムの再適用が必要
 MDACは、Windows 2000/XPやSQL Server 2000のサービスパックにも含まれています。そのため、サービスパックの適用によってMDACのバージョンが更新されることがあります。サービスパックの適用によってMDACのバージョンが変更になった場合(単体版のインストールを含む)、MS04-003の修正プログラムの再適用が必要となります。なお、各サービスパックに含まれるMDACのバージョンは以下のようになっています。

OS/SQL Server サービスパック 含まれるMDACのバージョン
Windows 2000 SP1 MDAC 2.5 SP1
SP2 MDAC 2.5 SP2
SP3/SP4 MDAC 2.5 SP3
Windows XP SP未適用 MDAC 2.7
SP1/SP1a MDAC 2.7 SP1
SQL Server 2000 SP1 MDAC 2.6 SP1
SP2 MDAC 2.6 SP2
SP3/SP3a MDAC 2.7 SP1
[お詫び]2004/01/15日付配信のHotFix Alertにおいて、SQL Server 2000 SP3/SP3aに含まれるMDACのバージョンをMDAC 2.7 SP3としておりましたが、SP1の誤りです。お詫びして訂正させていただきます。

■MDACのバージョンを調べる方法
 MDACは、単体で配布されているほか、各種アプリケーションなどにも添付されることがあります。そのため、コンピュータにインストールされているMDACのバージョンを調べ、修正プログラムの対象であるかどうかを知る必要があります。そのためには、マイクロソフトが提供している「Component Checker」を利用します。以下の手順でインストールならびにバージョン・チェックが可能です。なお修正プログラムの対象となっていないMDAC 2.5 SP未適用/SP1においても、脆弱性が存在する可能性があります。対象外のMDACを利用している場合は、まずMDACを更新してから修正プログラムを適用してください。

  1. 以下のダウンロード・ページより、cc_pkg.exeをダウンロードし、実行します。
    ・Component Checkerのダウンロード・ページ:
    http://www.microsoft.com/japan/msdn/data/download.asp#cck
  2. 自動解凍形式のファイルなので、インストール先のフォルダを指定します(デフォルトは、C:\ComponentChecker)。解凍先のフォルダにあるcc.exeがComponent Checkerの実行ファイルです。
  3. cc.exeを実行し、解析タイプ(Analysis Type)を選択します。 通常は、「Perform analysis of your machine and automatically determine the release version.」を選び、[OK]ボタンをクリックします。
  4. 解析が開始されます。結果が表示されるまで数秒かかります。結果は、ダイアログ・ボックスで、「The following product releases were matched: MDAC 2.7 SP1」などと表示されます。

 なお、修正プログラムは、対象とするMDACのバージョンを自動的に検出し、適用を行います。バージョンごとに修正プログラムをダウンロードする必要はありません。

 
追加情報(2004/01/28)
Windows UpdateでMS04-003の修正プログラムが何度も表示される不具合
情報ソース マイクロソフト/セキュリティ関連掲示板
不具合の内容 Windows Updateサイトの検出ミス
発生条件 MDAC 2.5 SP2未満/MDAC 2.6/2.6 SP1の各バージョン
報告日 2004年1月23日

 マイクロソフトは、古いMDAC(Microsoft Data Access Components)がインストールされたコンピュータにてWindows Updateを実行すると、「TechNetセキュリティ情報:MS04-003(MDAC機能のバッファ オーバーランにより、コードが実行される)」の修正プログラムを適用しても、未適用として再度表示される不具合があることをトラブル・メンテナンス速報で明らかにしました。また、セキュリティ関連の掲示板において、MBSA(Microsoft Baseline Security Analyzer:修正プログラムの適用状況などをチェックするツール)やSoftware Update Services(SUS)でも同様の問題が発生する、と報告されています。

・マイクロソフトのトラブル・メンテナンス速報:
http://www.microsoft.com/japan/support/sokuho/default.asp

 この不具合は、「TechNetセキュリティ情報:MS04-003」がMDAC 2.5 SP2(MDAC 2.52)未満およびMDAC 2.6(MDAC 2.60)/MDAC 2.6 SP1(MDAC 2.61)のバージョンのMDACをサポートしていないにもかかわらず、Windows Updateに「TechNetセキュリティ情報:MS04-003」の修正プログラムが表示されてしまうために発生します。「TechNetセキュリティ情報:MS04-003」の修正プログラムはMDAC 2.5 SP1などをサポートしていないため、これらのバージョンがインストールされている環境で修正プログラムを実行しても、実際には修正プログラムは適用されません。そのため、再度Windows Updateに接続すると、修正プログラムの適用を促されることになります。

 この不具合は、「TechNetセキュリティ情報:MS04-003」の修正プログラムがサポート対象とするMDAC 2.5 SP2/2.5 SP3/2.6 SP2/2.7/2.7 SP1/2.7 SP 1 Refresh(2.7 SP1a)/2.8のいずれかにバージョンアップすることで解消可能です。

不具合の対象:
 MDAC 2.5 SP2未満
 MDAC 2.6/2.6 SP1

詳細:
 MDACのバージョンが古いために、修正プログラムが適用できないという不具合が発生します。マイクロソフトでは、MDAC 2.5 SP2/2.5 SP3/2.6 SP2/2.7/2.7 SP1/2.7 SP1 Refresh(2.7 SP1a)/2.8の各バージョンのみをサポート対象としており、これ以外のバージョンについては修正プログラムが提供されていません。例えばMDAC 2.5 SP1などは、「TechNetセキュリティ情報:MS03-033(MDAC機能の未チェックのバッファにより、システムが侵害される)」でもサポート対象外となっており、セキュリティ的にも脆弱なバージョンとなっています。

 コンピュータにインストールされているMDACのバージョンを調べる方法は、「HotFix Alert:MS04-003(MDACの未チェック・バッファの脆弱性により、コンピュータの制御を取得されてしまう危険性)」の「DA Lab:HotFixテスティング・チームからのコメント」を参照してください。また、「サポート技術情報:835173(MDACセキュリティ修正モジュールの適用に関連する補足事項)」も参照してください。

・サポート技術情報 835173(MDACセキュリティ修正モジュールの適用に関連する補足事項):
http://support.microsoft.com/default.aspx?kbid=835173

 なおDA Labでは、比較的新しく、過去の不具合の多くが修正済みであるMDAC 2.7 SP1 RefreshまたはMDAC 2.8にバージョンアップすることをお勧めします。ただしMDACをバージョンアップすると、MDACを利用してデータベースにアクセスしているアプリケーションが影響を受ける可能性があります。バージョンアップの際には事前にアプリケーションの動作検証を行ってください。MDACは、以下のURLよりダウンロード可能です。

・Universal Data Access関連ダウンロード・ページ:
http://www.microsoft.com/japan/msdn/data/download.asp

 
適用されるファイル情報
 以下のファイルにパッチが適用されます。障害の発生が懸念される場合は、これらのファイルのバックアップを取ってください。
 
ファイル名 日付 バージョン サイズ
JPN_Q832483_MDAC_x86.EXE 2003/12/16 6.0.2600.0
2,096,312
 
ファイル名 日付 バージョン サイズ 機能
展開ファイル (MDAC 2.5 SP2) %SystemRoot%\system32\
odbc32.dll 2003/10/28 3.520.6101.0
212,992
Microsoft Data Access - ODBC Driver Manager
odbcbcp.dll 2003/10/28 3.70.11.46
24,848
Microsoft BCP for ODBC
odbccp32.dll 2003/10/27 3.520.6101.0
102,672
Microsoft Data Access - ODBC Installer
sqlsrv32.dll 2003/11/10 3.70.11.46
524,560
Microsoft SQL Server ODBC Driver
展開ファイル(MDAC 2.5 SP3) %SystemRoot%\system32\
odbc32.dll 2003/10/28 3.520.6301.0
212,992
Microsoft Data Access - ODBC Driver Manager
odbcbcp.dll 2003/10/28 3.70.11.46
24,848
Microsoft BCP for ODBC
odbccp32.dll 2003/10/27 3.520.6301.0
102,672
Microsoft Data Access - ODBC Installer
sqlsrv32.dll 2003/11/10 3.70.11.46
524,560
Microsoft SQL Server ODBC Driver
展開ファイル(MDAC 2.6 SP2) %SystemRoot%\system32\
dbnetlib.dll 2003/10/28 2000.80.747.0
86,588
Winsock Oriented Net DLL for SQL Clients
odbc32.dll 2003/10/28 3.520.7502.0
417,792
Microsoft Data Access - ODBC Driver Manager
odbcbcp.dll 2003/10/28 2000.80.747.0
29,252
Microsoft BCP for ODBC
odbccp32.dll 2003/10/28 3.520.7502.0
217,088
Microsoft Data Access - ODBC Installer
sqlsrv32.dll 2003/10/28 2000.80.747.0
455,236
Microsoft SQL Server ODBC Driver
  %ProgramFiles%\Common Files\System\Ole DB\
sqloledb.dll 2003/10/28 2000.80.747.0
479,800
Microsoft OLE DB Provider for SQL Server
展開ファイル(MDAC 2.7) %SystemRoot%\system32\
dbnetlib.dll 2003/10/27 2000.81.9002.0
61,440
Winsock Oriented Net DLL for SQL Clients
odbc32.dll 2003/10/27 3.520.9002.0
204,800
Microsoft Data Access - ODBC Driver Manager
odbcbcp.dll 2003/10/27 2000.81.9002.0
24,576
Microsoft BCP for ODBC
odbccp32.dll 2003/10/27 3.520.9002.0
94,208
Microsoft Data Access - ODBC Installer
sqlsrv32.dll 2003/10/27 2000.81.9002.0
356,352
Microsoft SQL Server ODBC Driver
  %ProgramFiles%\Common Files\System\Ole DB\
oledb32.dll 2003/10/27 2.70.9002.0
413,696
Microsoft Data Access - OLE DB Core Services
sqloledb.dll 2003/10/27 2000.81.9002.0
450,560
Microsoft OLE DB Provider for SQL Server
展開ファイル(MDAC 2.7 SP1) %SystemRoot%\system32\
dbnetlib.dll 2003/10/27 2000.81.9042.0
61,440
Winsock Oriented Net DLL for SQL Clients
msdart.dll 2003/10/27 2.71.9042.0
126,976
Microsoft Data Access - OLE DB Runtime Routines
odbc32.dll 2003/10/27 3.520.9042.0
204,800
Microsoft Data Access - ODBC Driver Manager
odbcbcp.dll 2003/10/27 2000.81.9042.0
24,576
Microsoft BCP for ODBC
odbccp32.dll 2003/10/27 3.520.9042.0
98,304
Microsoft Data Access - ODBC Installer
sqlsrv32.dll 2003/10/27 2000.81.9042.0
385,024
Microsoft SQL Server ODBC Driver
  %ProgramFiles%\Common Files\System\Ole DB\
oledb32.dll 2003/10/27 2.71.9042.0
417,792
Microsoft Data Access - OLE DB Core Services
sqloledb.dll 2003/10/27 2000.81.9042.0
471,040
Microsoft OLE DB Provider for SQL Server
展開ファイル(MDAC 2.8) %SystemRoot%\system32\
odbcbcp.dll 2003/12/12 2000.85.1025.0
24,576
Microsoft BCP for ODBC
SQLSRV32.dll 2003/11/18 2000.85.1025.0
401,408
Microsoft SQL Server ODBC Driver
JPN_Q832483_MDAC_x86.EXEには、dbnetlib_262.dll、dbnetlib_270.dllといったようにMDACのバージョンが付加されたファイル名でアーカイブされています。これらのファイルは、インストール時にファイル名が変更されます。表ではインストール後のファイル名を示しています。
 
確認方法

 以下のレジストリ・キーにある値を確認してください。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\DataAccess\Q832483

・MDAC 2.5 SP2:
上記レジストリ・キーの値「IsInstalled」が「1」で、かつ値「ProductVersion」が「2.52.*.*」

・MDAC 2.5 SP3:
上記レジストリ・キーの値「IsInstalled」が「1」で、かつ値「ProductVersion」が「2.53.*.*」

・MDAC 2.6 SP2:
上記レジストリ・キーの値「IsInstalled」が「1」で、かつ値「ProductVersion」が「2.62.*.*」

・MDAC 2.7:
上記レジストリ・キーの値「IsInstalled」が「1」で、かつ値「ProductVersion」が「2.70.*.*」

・MDAC 2.7 SP1:
上記レジストリ・キーの値「IsInstalled」が「1」で、かつ値「ProductVersion」が「2.71.*.*」

・MDAC 2.8:
上記レジストリ・キーの値「IsInstalled」が「1」で、かつ値「ProductVersion」が「2.80.*.*」

 
修正プログラム

 手動で修正プログラムをインストールする場合は、以下のダウンロード先のリストで[日本語]を選択してください。

http://www.microsoft.com/downloads/details.aspx?FamilyId=39472EE8-C14A-47B4-BFCC-87988E062D91&displaylang=ja

 
参考情報

 何らかの理由から、直ちに修正プログラムを適用できない場合には、以下に示す方法で問題を回避できます。ただしこの回避策は、脆弱性を根本的に解決するものではありません。

・UDPポート1434番のインバウンド・トラフィックの受信を遮断する
 Windows 2000では、IPSecのフィルタ・ルールを利用することで、UDPポート1434番のインバウンド・トラフィックの受信を遮断することが可能です。これにより、ブロードキャスト・リクエストに対する応答を受信しなくなることから、脆弱性が回避できます。

  1. [管理ツール]−[サービス]で、「IPSEC Policy Agent」が有効になっており、開始されていることを確認します。デフォルトでは、自動で開始されています。
  2. マイクロソフトWebサイトにアクセスし、Ipsecpol.exeをダウンロードしてインストールします。 http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/
    ipsecpol-o.asp
  3. [スタート]−[ファイル名を指定して実行]メニューを選択し、「cmd」と入力してコマンド プロンプトを起動します。
  4. Ipsecpol.exeをインストールしたフォルダ(デフォルトでは、%ProgramFiles%\Resource Kit\)に移動し、トラフィックを遮断する静的なポリシーを作成するため、以下のコンドを実行します。
    C:\Program Files\Resource Kit> ipsecpol -w REG -p "Block UDP 1434 Filter" -r "Block Inbound UDP 1434 Rule" -f *=0:1434:UDP -n BLOCK -x

 これで、UDPポート1434番のインバウンド・トラフィックの受信が遮断されます。Ipsecpol.exeについては、「サポート技術情報:813878(IPSecを使用して特定のネットワーク プロトコルとポートをブロックする方法)」を参照してください。

・サポート技術情報 813878(IPSecを使用して特定のネットワーク プロトコルとポートをブロックする方法):
http://support.microsoft.com/default.aspx?scid=kb;ja;813878

 なお、この回避策を実行すると、SQLクライアントが、SQLブロードキャスト・リクエストを利用できなくなります。例えば、SQL Enterprise Managerなどのツールは、ブロードキャスト・リクエストを使用して、サブネット上のすべてのSQL Serverインスタンスを列挙しますが、回避策の実行後は、このインスタンスに列挙されなくなる可能性があります。またシステムの起動中は、DPポート1434番のインバウンド・トラフィックの受信ブロックが働きません。そのためウイルスやワームによる攻撃に対して、脆弱になる期間が発生します。

 
UpdateEXPERTによる予想適用時間
修正プログラム名 50台 100台 250台 500台
JPN_Q832483_MDAC_x86.EXE 19分 27分 53分 1時間36分
この表は、1コンソールのUpdateEXPERTで、今回の修正プログラムを適用するのにかかる時間を概算したものです。ネットワーク環境や適用するコンピュータの性能などによって適用時間は異なります。あくまでも目安としてご利用ください。
 
UpdateEXPERT上の表示

・MDAC 2.5 SP2:
 [展開ビュー]−[OS]タブに「名前:JPN_Q832483_MDAC(2.5SP2)_x86.EXE」で登録

・MDAC 2.5 SP3:
 [展開ビュー]−[OS]タブに「名前:JPN_Q832483_MDAC(2.5SP3)_x86.EXE」で登録

・MDAC 2.6 SP2:
 [展開ビュー]−[OS]タブに「名前:JPN_Q832483_MDAC(2.6SP2)_x86.EXE」で登録

・MDAC 2.7:
 [展開ビュー]−[OS]タブに「名前:JPN_Q832483_MDAC(2.7)_x86.EXE」で登録

・MDAC 2.7 SP1:
 [展開ビュー]−[OS]タブに「名前:JPN_Q832483_MDAC(2.7SP1)_x86.EXE」で登録

・MDAC 2.8:
 [展開ビュー]−[OS]タブに「名前:JPN_Q832483_MDAC(2.8)_x86.EXE」で登録

 

HotFix Reportは、UpdateEXPERTユーザー向けの情報を含んでいます。UpdateEXPERTは、管理者の負担を大幅に軽減するHotFix管理ツールです。UpdateEXPERTに関する詳細ならびにお問い合わせは、アップデートテクノロジー株式会社のホームページをご参照ください。
 
Copyright (C) Digital Advantage Corp.
このメールは、HotFix Reportにご登録いただいておりますユーザー様にお送りしています。
無断で複製・再配信などを行うことはできません。 このメールに関する問い合わせ先:info@hotfix.jp
HotFix Reportでは、細心の注意を払って情報提供を行っておりますが、本サービスにおける情報の正確性、最新性、適切性などについて、明示的又は黙示的な保証を行いません。また本サービスの停止や欠陥、それらに起因して発生する損失や損害について、一切責任を負いません。