安全研究

安全漏洞
Microsoft Jet DB引擎数据验证漏洞

发布日期:2005-04-01
更新日期:2005-04-01

受影响系统:
Microsoft JET DB
不受影响系统:
Microsoft JET DB OLE Provider
描述:
CVE(CAN) ID: CVE-2005-0944

Microsoft Jet数据库是MS Office应用程序中广泛使用的轻型数据库。msjet40.dll是Microsoft Jet数据库引擎的主要组件,可以评估并执行数据请求。

msjet40.dll解析数据库文件时没有执行充分的数据验证,这样攻击者就可以修改数据库文件,导致在打开MS Jet数据库时执行攻击者的代码。

<*来源:HexView (vuln@hexview.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=111231465920199&w=2
        http://www.hexview.com/docs/20050331-1.txt
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

下面是一段空的*.mdb文件。请注意#3行中0x77字符的序列。当msjet40.dll解析这部分文件时,就会触发异常。

000023B0:  00 00 04 00-49 00 64 00-18 00 50 00-61 00 72 00  ....I.d...P.a.r.
000023C0:  65 00 6E 00-74 00 49 00-64 00 4E 00-61 00 6D 00  e.n.t.I.d.N.a.m.
000023D0:  65 00 77 77-77 77 00 00-05 06 00 00-08 00 02 06  e.wwww..........
000023E0:  00 00 03 06-00 00 0D 00-08 06 00 00-09 06 00 00  ................
000023F0:  10 00 0E 06-00 00 0F 06-00 00 0F 00-0C 06 00 00  ................

下面是导致崩溃的msjet40.dll代码段。

  movsx   eax, ax
  mov     ecx, [edi+eax*4+0B0h]
  mov     edx, [ecx]
  call    dword ptr [edx+10h]

可访问的内存范围包含有部分原始文件,这可能导致以指向文件中嵌入的恶意代码的值加载指令指针。

建议:
厂商补丁:

Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.microsoft.com/technet/security/

浏览次数:3863
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障