ActivePerlPerlIS.dll远程缓冲区溢出漏洞

王朝perl·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

受影响的软件及系统:

==================

Microsoft Windows NT 4.0

Microsoft Windows 2000

Microsoft Windows XP

综述:

=====

NSFOCUS安全小组发现微软Windows系统的Multiple UNC Provider(MUP)系统驱动中存在一个缓冲区溢出漏洞,本地攻击者可能利用 这个漏洞导致系统重启或获取Local SYSTEM权限。

漏洞分析:

==========

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

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

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

临时解决方法:

===========

禁止不可信用户登录您的系统。

厂商状态:

==========

2001.10.17 我们将这个问题通报给了微软公司。

2001.11.09 微软告知重现了这个问题

2001.12.05 微软提供了补丁程序供测试,测试发现此问题已被解决

2002.4.4 微软已就此发布了一个安全公告(MS02-017)以及相应补丁

您可以在下列地址看到微软安全公告的详细内容:

http://www.microsoft.com/technet/security/bulletin/ms02-017.asp

补丁程序可以在下列地址下载:

. Microsoft Windows NT 4.0:

http://www.microsoft.com/Downloads/Release.asp?ReleaseID=37630

. Microsoft Windows NT 4.0 Terminal Server Edition:

http://www.microsoft.com/Downloads/Release.asp?ReleaseID=37652

. Microsoft Windows 2000:

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

. Microsoft Windows XP:

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

附加信息:

==========

通用漏洞披露(Common Vulnerabilities and Exposures)组织CVE已经为此问题分配了一个候选名 CAN-2002-0151。此名字是为了收录进CVE列表做候选之用,(http://cve.mitre.org)CVE列表致力于使安全问题的命名标准化。候选名在被正式加入CVE列表之前可能会有较大的变化。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航