|
ActivePerlPerlIS.dll远程缓冲区溢出漏洞 |
|
|
|
|
|
您查看的文章来源于http://www.oklinux.cn
受影响的软件及系统: ================== 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列表之前可能会有较大的变化。
|
上一篇:功能丰富的Perl 下一篇:功能丰富的Perl:用Perl保存
|
相关文档 |
|
|
发表评论 |
|
|
|
|