首页 -> 安全研究

安全研究

安全漏洞
Microsoft MUP超长请求本地内核缓冲区溢出漏洞(MS02-017)

发布日期:2002-04-04
更新日期:2002-04-05

受影响系统:
Microsoft Multiple UNC Provider(MUP)mup.sys
    - Microsoft Windows XP
    - Microsoft Windows NT 4.0
    - Microsoft Windows 2000 SP3
描述:
BUGTRAQ  ID: 4426
CVE(CAN) ID: CVE-2002-0151

当Microsoft Windows NT/2000/XP系统中的应用程序使用UNC格式(例如:\\ip\sharename)来访问其他主机上的文件时,操作系统会将此请求交给Multiple UNC Provider(MUP)进行处理。MUP会将请求发给多个转发程序(redirector),并根据其响应找到合适的转发程序。MUP运行在核心态,由mup.sys实现其功能。

当收到一个UNC文件请求时,MUP会先将其保存在内核中的一个缓冲区中,缓冲区的大小为UNC请求长度加上0x1000字节。在将请求发送给转发程序时,它会再将这个请求拷贝到缓冲区中,附加在原来的那个请求的后面。然而,如果文件请求的长度超过0x1000字节,就可能覆盖缓冲区之外的内存数据。这些动态分配的内存之间通常包含一些管理结构的数据,通过重写这些数据,当内核重新分配或者释放内存时,就有可能改变任意内核内存的内容。例如,攻击者可以通过修改idt门来给调用者更高的权限。

成功地利用这个漏洞,本地攻击者能够修改内核内存中的内容,因此可以获取Local SYSTEM或者其他任意权限。根据我们的测试,在Windows 2000下可以成功地利用这个漏洞,但并不总是能成功,因为要利用这个漏洞还依赖于内核什么时候会去处理被溢出的内存。如果使用随机数据,系统可能会蓝屏并重新启动。Windows NT 存在同样的溢出问题,但是似乎更难被利用。

<*来源:Nsfocus Security Team (security@nsfocus.com
  
  链接:http://www.nsfocus.com/sa2002-02.htm
        http://www.microsoft.com/technet/security/bulletin/MS02-017.asp
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 严格控制本地用户的登录访问,确信只有可信用户能够进行本地访问。

厂商补丁:

Microsoft
---------
Microsoft已经为此发布了一个安全公告(MS02-017)以及相应补丁:
MS02-017:Q311967: Unchecked buffer in the Multiple UNC Provider Could Enable Code Execution
链接:http://www.microsoft.com/technet/security/bulletin/MS02-017.asp

补丁下载:

     * Windows NT 4.0:
       http://www.microsoft.com/Downloads/Release.asp?ReleaseID=37630

     * Windows NT 4.0 Terminal Server Edition:
       http://www.microsoft.com/Downloads/Release.asp?ReleaseID=37652

     * Windows 2000:
       http://www.microsoft.com/Downloads/Release.asp?ReleaseID=37555

     * Windows XP:
       http://www.microsoft.com/Downloads/Release.asp?ReleaseID=37583

     * Windows XP 64-bit Edition:
       http://www.microsoft.com/Downloads/Release.asp?ReleaseID=37672

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