首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第37期->最新漏洞
期刊号: 类型: 关键词:
Microsoft数据访问组件远程缓冲区溢出漏洞

日期:2002-12-02

发布日期:2002-11-20
更新日期:2002-11-22

受影响系统:
Microsoft Internet Explorer 6.0
Microsoft Internet Explorer 5.5
Microsoft Internet Explorer 5.01
Microsoft MDAC 2.6
Microsoft MDAC 2.5
Microsoft MDAC 2.1
    - Microsoft Windows NT 4.0
    - Microsoft Windows ME
    - Microsoft Windows 98
    - Microsoft Windows 2000
描述:
--------------------------------------------------------------------------------
CVE(CAN) ID: CAN-2002-1142

Microsoft Data Access Components (MDAC)是一套用于在Windows平台上提供数据库连接的组件。MDAC是一个普遍使用的技术,存在于下面大多数Windows系统中:
-默认作为Windows XP、Windows 2000和Windows Millennium一部分安装。
-可以单独下载。
-包含在多个其他产品中,如MDAC包含在Windows NT 4.0 Option Pack,如果MDAC自身没有安装部分MDAC组件作为Internet Explore一部分存在。

MDAC的一个组件远程数据服务(Remote Data Services (RDS))对解析入站HTTP请求时存在安全问题,远程攻击者可以利用这个漏洞进行基于堆的缓冲区溢出攻击,以高权限在系统上执行任意指令。

MDAC提供底层功能进行多个数据库操作,如连接远程数据库,返回数据给客户端。其中之一的MDAC组件远程数据服务(RDS),提供三方连结结构的支持,即客户机通过Web服务向服务器上后台的数据库发出请求。允许用户执行包含.dll和.exe扩展,借此提供更多更灵活站点功能。RDS的DataSpace对象实现上存在安全漏洞,问题存在于RDS Data Stub函数中,此函数用于解析进入的HTTP请求和产生RDS命令。

MDAC 2.7之前版本(存在于Windows XP系统)的Data Stub没有充分检查缓冲区,攻击者发送特殊畸形HTTP请求给Data Stub,攻击者可以导致数据破坏系统堆结构,虽然堆缓冲区溢出比普通的栈溢出难于利用,但是Microsoft证实此漏洞可以使攻击者在目标系统上执行任意指令。

RDS接口通过文件msadcs.dll提供,要利用这个漏洞,用户可以向IIS服务程序发送POST请求,请求msadc.dll调用,并在HTTP请求头字段中Content-Type参数中提供畸形超长字符串,可覆盖堆中的内存结构,通过覆盖部分内存中的函数指针(如unhandledexceptionfilter),可以使当前IIS线程崩溃,或者以IIS进程权限执行任意指令。

Web Server和Web客户端存在如下危害:

- Web Server如果安装了有此漏洞的MDAC,并运行在服务程序上,攻击者可以与服务程序建立连接,然后发送畸形HTTP请求来利用这个漏洞。精心构建请求数据可导致以IIS服务进程权限在系统上执行任意指令。

- Web客户端普遍存在这个危害,因为RDS Data Stub包含在当前所有Internet Explorer中,而且没有选项可以关闭使用。要利用这个漏洞,攻击者可以构建恶意WEB页,发送畸形HTTP回复给用户系统,可导致以用户进程在系统上执行任意指令。也可以使用HTML EMAIL形式来触发。

<*来源:Foundstone Labs (labs@foundstone.com)
  
  链接:http://www.foundstone.com/knowledge/randd-advisories-display.html?id=337
        http://www.microsoft.com/technet/security/bulletin/MS02-065.asp
*>

建议:
--------------------------------------------------------------------------------
厂商补丁:

Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS02-065)以及相应补丁:
MS02-065:Buffer Overrun in Microsoft Data Access Components Could Lead to Code Execution (Q329414)
链接:http://www.microsoft.com/technet/security/bulletin/MS02-065.asp

补丁下载:

    * The following patch can be installed on all affected platforms:
       http://www.microsoft.com/downloads/Release.asp?ReleaseID=44733
版权所有,未经许可,不得转载