安全研究
安全漏洞
Windows MIDI解析器quartz.dll远程堆破坏漏洞(MS03-030)
发布日期:2003-07-23
更新日期:2003-07-25
受影响系统:
Microsoft Windows XP描述:
Microsoft Windows ME
Microsoft Windows 98se
Microsoft Windows 98
Microsoft Windows 2003
Microsoft Windows 2000
CVE(CAN) ID: CVE-2003-0346
DirectX包含一套低级别API可由Windows程序调用来支持多媒体,其中quartz.dll允许Windows应用程序通过普通接口播放MIDI音乐。Windows Media Player和IE使用此dll来播放MIDI文件。
quartz.dll在处理畸形MIDI文件时存在问题,远程攻击者可以利用这个漏洞构建恶意WEB页面,诱使用户访问,以用户进程权限在系统上执行任意指令。
quartz.dll存在整数溢出而导致的堆破坏漏洞,如果MIDI文件中的Text或Copyright字符串的长度为FFFFFFFFh,quartz尝试分配0字节大小的堆快,然后拷贝text字符串或任何下面的数据到新分配的堆中,结果导致0字节块相邻的对内存结构被破坏。
主要问题是quartz增加指定字符串的长度没有进行任何缓冲区边界检查,增加的值(now 0)传递给LocalAlloc(),然后memcpy()函数将会使用原始值(FFFFFFFFh)从文件映象中拷贝字符串到堆缓冲区中。
还有一个堆破坏发生在16位整数溢出中,问题存在于MThd chunk的轨道数中,这个数值是一个16位整数,用于部分算法中可以判断轨道数据结构数组所需的大小,如块的大小按照如下方法计算:
(number_of_tracks * 24h) + 9E0h
如果设置轨道数为1751(6D7h)或更大会导致分配一个不充分的较小的堆块,导致在拷贝数据的时候发生溢出。Windows 2003不受此漏洞影响。
攻击者可以利用构建恶意WEB页面,或发送使用HTML形式的EMAIL给有此漏洞的用户。
<*来源:Derek Soeder (dsoeder@eeye.com)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=105899759824008&w=2
http://www.microsoft.com/technet/security/bulletin/MS03-030.asp
*>
建议:
厂商补丁:
Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS03-030)以及相应补丁:
MS03-030:Unchecked Buffer in DirectX Could Enable System Compromise (Q819696)
链接:http://www.microsoft.com/technet/security/bulletin/MS03-030.asp
补丁下载:
Windows 98, Windows 98 SE和Windows Millennium Edition系统下的Microsoft DirectX 5.2, DirectX 6.1和DirectX 7.0a:
http://microsoft.com/downloads/details.aspx?FamilyId=141D5F9E-07C1-462A-BAEF-5EAB5C851CF5&displaylang=en
Windows 2000 下的Microsoft DirectX 7.0 :
http://microsoft.com/downloads/details.aspx?FamilyId=7D0E4787-A993-4C49-A5A7-9A6DE8EFDB9E&displaylang=en
Windows XP 32-bit Edition下的Microsoft DirectX 8.1:
http://microsoft.com/downloads/details.aspx?FamilyId=5ABA6A3B-F67B-4B18-B4B5-62E69A0104CE&displaylang=en
Windows XP 64-bit Edition 下的Microsoft DirectX 8.1:
http://microsoft.com/downloads/details.aspx?FamilyId=8F23F7AF-5317-4502-8B17-7C1A2139EBDC&displaylang=en
Windows Server 2003 32-bit Edition 下的Microsoft DirectX 8.1:
http://microsoft.com/downloads/details.aspx?FamilyId=A5156FF8-1812-4DB4-9175-BF9CA370279D&displaylang=en
Windows Server 2003 64-bit Edition 下的Microsoft DirectX 8.1:
http://microsoft.com/downloads/details.aspx?FamilyId=59732FCF-993A-45E8-8BA4-064575055D86&displaylang=en
所有Windows版本下的Microsoft DirectX 9.0a:
http://microsoft.com/downloads/details.aspx?FamilyId=22F990CB-E9F9-4670-8B4F-AC4F6F66C3A2&displaylang=en
Microsoft Windows NT 4.0:
http://microsoft.com/downloads/details.aspx?FamilyId=E238B8A1-4146-400A-A6F6-68E0D3B44163&displaylang=en
Microsoft Windows NT 4.0, Terminal Server Edition:
http://microsoft.com/downloads/details.aspx?FamilyId=BC72BE54-081D-43AE-B9C9-D08496C03BA3&displaylang=en
All Windows Versions except Windows NT 4.0:
http://microsoft.com/downloads/details.aspx?FamilyId=141D5F9E-07C1-462A-BAEF-5EAB5C851CF5&displaylang=en
浏览次数:5113
严重程度:0(网友投票)
绿盟科技给您安全的保障