CVE:CVE-2002-0151
CNNVD:CNNVD-200204-011
当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 存在同样的溢出问题，但是似乎更难被利用。
solution:Upgrade microsoft windows_2000 to a higher version than *; Upgrade microsoft windows_nt to a higher version than 4.0,4.0:sp1,and avoid the version 4.0,4.0:sp1; Upgrade microsoft windows_xp to a higher version than *:gold,and avoid the version *:gold