安全研究

安全漏洞
Microsoft Windows内核xxxRealDrawMenuItem()函数本地权限提升漏洞

发布日期:2010-08-17
更新日期:2010-08-18

受影响系统:
Microsoft Windows 7
描述:
BUGTRAQ  ID: 42497

Microsoft Windows是微软发布的非常流行的操作系统。

Windows 7系统中win32k.sys内核驱动的xxxRealDrawMenuItem()函数对HBITMAP缺少边界检查:

.text:BF8B83D7 loc_BF8B83D7:               ; CODE XREF: xxxRealDrawMenuItem(x,x,x,x,x,x)+13Dj  
.text:BF8B83D7     push    offset asc_BFA98BB0 ; "Assertion failed: (pItem->hbmp >= HBMME"...  
.text:BF8B83DC     push    offset aXxxrealdrawmen ; "xxxRealDrawMenuItem"  
.text:BF8B83E1     push    601h            ; int  
.text:BF8B83E6     push    offset asc_BFA988EC ; "d:\\w7rtm\\windows\\core\\ntuser\\kernel\\mnd"...  
.text:BF8B83EB     push    1000000h        ; int  
.text:BF8B83F0     push    ebx             ; int  
.text:BF8B83F1     call    _VRipOutput  
.text:BF8B83F6     add     esp, 18h  
.text:BF8B83F9     test    eax, eax  
.text:BF8B83FB     jz      short loc_BF8B83FE  
.text:BF8B83FD     int     3               ; Trap to Debugger  

以及  

.text:BF8B83FE loc_BF8B83FE:               ; CODE XREF: xxxRealDrawMenuItem(x,x,x,x,x,x)+142j  
.text:BF8B83FE                             ; xxxRealDrawMenuItem(x,x,x,x,x,x)+168j  
.text:BF8B83FE     mov     edi, [esi+40h]    
.text:BF8B8401     add     edi, 4Fh  
.text:BF8B8404     cmp     edi, 5Dh  
.text:BF8B8407     jb      short loc_BF8B8430  
.text:BF8B8409     push    offset asc_BFA98B74 ; "Assertion failed: wBmp < OBI_COUNT"  
.text:BF8B840E     push    offset aXxxrealdrawmen ; "xxxRealDrawMenuItem"  
.text:BF8B8413     push    604h            ; int  
.text:BF8B8418     push    offset asc_BFA988EC ; "d:\\w7rtm\\windows\\core\\ntuser\\kernel\\mnd"...  
.text:BF8B841D     push    1000000h        ; int  
.text:BF8B8422     push    ebx             ; int  
.text:BF8B8423     call    _VRipOutput  
.text:BF8B8428     add     esp, 18h  
.text:BF8B842B     test    eax, eax  
.text:BF8B842D     jz      short loc_BF8B8430  
.text:BF8B842F     int     3               ; Trap to Debugger  

本地用户可以通过传送畸形HBITMAP获得内核级权限提升。这里HBITMAP未经任何验证便用作了gpsi->oembmi[]的索引。

<*来源:Tavis Ormandy (taviso@gentoo.org
  
  链接:http://www.exploit-db.com/exploits/14668/
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://www.exploit-db.com/download/14668

建议:
厂商补丁:

Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.microsoft.com/technet/security/

浏览次数:3086
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障