Windows win32k.sys驱动ImeCanDestroyDefIMEforChild本地内核拒绝服务漏洞
影响版本:
Microsoft Windows XP SP3
Microsoft Windows Vista SP2
Microsoft Windows Server 2003 SP2
Microsoft Windows 2000 SP4
漏洞描述:
Microsoft Windows是微软发布的非常流行的操作系统。
在Win32k!NtUserDestroyWindow->xxxDestroyWindow时,试图为子窗口销毁IME窗口时会调用 ImeCanDestroyDefIMEforChild函数。这个函数会在一个while循环中取得窗口的父窗口,试图确定窗口的子窗口和当前销毁的窗口是否属于同一个线程的,大概代码如下:
if (pwndDestroy->spwndParent == NULL)
return FALSE ;
pwnd = pwndDestroy;
while (pwnd != NULL && pwnd != GetDesktopWindow(pwnd)) {
if (IsChildSameThread(pwnd->spwndParent, pwndDestroy))
return FALSE;
pwnd = pwnd->spwndParent;
}
IsChildSameThread中不会做任何检查就直接使用第一个窗口对象参数。如果第一个窗口的父窗口不为空,且和要销毁的窗口父窗口不是一个窗口,且要销毁的窗口的父窗口的任何一个父窗口为空,就会因为访问0地址而崩溃。
<*参考
http://hi.baidu.com/mj0011/blog/item/249da3119cd3c072cb80c458.html
*>
安全建议:
厂商补丁:
Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.microsoft.com/technet/security/
// Syue.com [2010-04-24]





![[图]0patch发布免费补丁:修复Windows 7中的本地提权漏洞](/d/file/20220219/e9aad0aaba7c532532f19474d675f2d0.png)

![[图]微软:WES7已于10月13日停止支持 推荐客户尽快升级](/d/file/20220219/f65a8e8c7ce9e40e08ec09b40dc2c64e.png)



