-
-
[原创][0Day]WINDOWS 7 RC 7100 GDI驱动Win32k.sys内核D.O.S漏洞
-
发表于:
2009-5-13 18:49
6568
-
[原创][0Day]WINDOWS 7 RC 7100 GDI驱动Win32k.sys内核D.O.S漏洞
[0Day]WINDOWS 7 RC 7100 GDI驱动Win32k.sys内核D.O.S漏洞
作者:MJ0011 2009.05.13
感谢:Iceboy发现此问题并提供DUMP
漏洞厂商及产品:Microsoft Windows 7 rc 7100 090421
存在漏洞组件:win32k.sys Timestamp :49ee8dc8
存在漏洞函数:NtUserGetDc/NtUserGetDcEx
漏洞描述:Win32k.sys是WINDOWS的GDI驱动程序,包含大量复杂的图形界面处理,由于其中大量代码是从WIN3.1中修改过来,因此成了WINDOWS漏洞多发之地。
这个漏洞主要是因为Windows 7 在其NtUserGetDc/NtUserGetDcEx函数中(也许不仅仅是这两个函数)不正确地使用了共享临界锁,导致了任何权限下的GDI程序可以引发内核BSOD,从而进行DOS攻击
漏洞分析:
在WINDOWS VISTA中,在这两个函数进入前,会调用UserEnterUserCirtSec,进入临界区,同时会将gptiCurrent设置为当前线程的WIN32THREAD
UserEnterUserCritSec的实现如下:
PWIN32THREAD UserEnterUserCritSec()
{
PWIN32THREAD pwin32Thread;
pwin32Thread = ExEnterPriorityRegionAndAcquireResourceExclusive(gpresUser);
gptiCurrent = pwin32Thread;
gbValidateHandleForIL = 1;
return pwin32Thread;
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课