[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Microsoft Distributed Transaction Coordinatorメモリ変更脆弱性



Microsoft Distributed Transaction Coordinatorメモリ変更脆弱性

原版:
Microsoft Distributed Transaction Coordinator Memory Modification Vulnerability
http://www.eeye.com/html/research/advisories/AD20051011b.html

リリース日:
October 11, 2005

報告日: 
July 8, 2005

パッチ開発期間: 95日

リスクレベル: 
高 (リモートコード実行)

ベンダ: 
Microsoft

対象システム:
Windows 2000 Server SP0 - SP4
     - デフォルトでリモートexploit可能
Windows XP SP0 - SP1
     - デフォルトではローカルexploitのみ
     - サービス開始によりリモートexploit可能
Windows 2003 Server SP0
     - デフォルトではローカルexploitのみ
     - ネットワークDTCアクセスが有効になっていると、リモートexploit可能

eEye ID#:  EEYEB20050915
OSVDB ID#: 2692
CVE #:  CAN-2005-2127

概要:
eEye Digital Securityは、Microsoft Distributed Transaction Coordinator
(MSDTC)サービスに、匿名の攻撃者がシステムを完全に制御可能となる重大な脆
弱性があることを発見しました。MSDTCはTCPポート3372と動的なhigh TCPポート
を利用します。Windows 2000ではデフォルトで有効となっています。

詳細情報:
Distributed Transaction Coordinatorインターフェースproxy (MSDTCRPX.DLL)
は{906B0CE0-C70B-1067-B317-00DD010662DA} v1.0のリクエストを処理するRPCサー
バとして機能します。MIDL_user_allocate関数は、要求されるメモリサイズに関
わらずVirtualAllocにて1メモリページ(4KB)を割り当てるという特異な動作をし
ます。その結果、メモリ割り当ては必ず成功し、4KBブロックへのポインタが返
されます。BuildContextW (opnum 7) RPC関数は呼び出し側でサイズを指定しま
すが、そのサイズも無視されます。

VirtualAllocによってメモリが割り当てられる為、通常は隣接するデータに上書
き可能なものは存在しませんが、RPCランタイムライブラリそのものに、
MSDTCPRXの特異なメモリ割り当てルーチンによりexploit可能となるコードが含
まれます。下記のdisassemblyで例証されているように、RPCRT4.DLLの
NdrAllocate関数は、特定の管理データを割り当てられたメモリブロックの後に
格納しようとします:

; ESI = 割り当てサイズ(8バイト単位)
; EBX = 合計割り当てサイズ(alloc size + 0Ch)
; 整数オーバーフローチェック。割り当てサイズは <= FFFFFFF0h でなければならない。

786F828D    push    ebx                 ; EBX = 合計割り当てサイズ
786F828E    call    dword ptr [edi+48h] ; MSDTCPRX.DLL!MIDL_user_allocate
786F8291    mov     ebx, eax
786F8293    test    ebx, ebx
786F8295    jz      78735490
786F829B    lea     eax, [esi+ebx]      ; ESI = 割り当てサイズ
786F829E    lea     ecx, [edi+0B0h]
786F82A4    mov     dword ptr [eax], 4D454D4Ch  ; +00h "LMEM"タグ
786F82AA    mov     [eax+4], ebx                ; +04h ブロック開始
786F82AD    mov     edx, [ecx]
786F82AF    mov     [eax+8], edx                ; +08h 連結リスト
786F82B2    mov     [ecx], eax          ; リンクリストに本ブロックを追加

ユーザによって与えられた割り当てサイズは、メモリ割り当て関数が成功する事
により自動的に有効と判定される為、FFFFFFF0hまたはそれ以下の任意の値を
NdrAllocateに渡し、結果的にこの12バイトの管理データをVirualAllocされたメ
モリ領域の位置に連動した任意のアドレスに格納することができます。3つの
DWORD型フィールドのうち2つ目はこのメモリ領域に対するポインタであるため、
本脆弱性のexploitがより容易となります。

対応ソフトウェア情報:
Retina - Network Security Scanner
Blink - End-point Vulnerability Prevention

ベンダ対応状況:
Microsoft社は本脆弱性に対する対応パッチをリリースしました。
パッチは下記URLよりダウンロード可能です: 
http://www.microsoft.com/japan/technet/security/bulletin/MS05-051.mspx

クレジット:
発見者: Fang Xing (eEye Digital Security)
翻訳: 高橋 晶子 (住商情報システム株式会社)

関連情報:
Retina Network Security Scanner - 日本語版評価版
 - https://sec.sse.co.jp/eeye/freedl.html
Retina MSDTC Scanner - 本脆弱性専用フリースキャナ
 - https://sec.sse.co.jp/eeye/freedl.html
Retina Network Security Scanner - 英語版評価版
 - http://www.eeye.com/html/products/retina/download/index.html
Blink Endpoint Vulnerability Prevention - 英語版評価版
 - http://www.eeye.com/html/products/blink/download/index.html


本Advisoryは、住商情報システム株式会社(SCS)が、eEye Digital Securityの
許可を得た上で翻訳しております。
SCSは本和訳が正確な情報になるよう努めさせて頂きます。しかしながら、正確
性、完全性、信頼性、安全性等に関して、いかなる責任も負わないことと致しま
す。

Copyright (c) 1998-2005 eEye Digital Security
Permission is hereby granted for the redistribution of this alert
electronically. It is not to be edited in any way without express
consent of eEye.  If you wish to reprint the whole or any part of this
alert in any other medium excluding electronic medium, please email
alert@xxxxxxxx for permission.

Disclaimer
The information within this paper may change without notice. Use of this
information constitutes acceptance for use in an AS IS condition.  There
are no warranties, implied or express, with regard to this information.
In no event shall the author be liable for any direct or indirect
damages whatsoever arising out of or in connection with the use or
spread of this information.  Any use of this information is at the
user's own risk.



----------------------------------------
  高橋 晶子 <takahashi.akiko@xxxxxxxxx>
  住商情報システム株式会社
  セキュリティソリューション事業部
  セキュリティソリューション第4部
  http://www.scs.co.jp