id Tech 4游戏引擎idGameLocal::GetGameStateObject()远程代码执行漏洞
发布日期:2010-06-21
更新日期:2010-06-22
受影响系统:id Software id Tech 4 engine
描述:
BUGTRAQ ID:
41001
id Tech 4之前被称为Doom 3引擎,是由id Software所开发的游戏引擎。
在加入到游戏服务器时客户端会使用服务器所返回的connectResponse报文中的一个32位字段,通过idGameLocal::GetGameStateObject函数调用内部结构中的一些函数指针,这可能会导致执行恶意代码。
以下是调用函数指针指令之前的利用路径:
1A29326F 69D2 0C610000 IMUL EDX,EDX,610C ; step 1
1A293275 8D8432 78370300 LEA EAX,DWORD PTR DS:[EDX+ESI+33778] ; step 2
1A29327C 50 PUSH EAX
1A29327D 8BCE MOV ECX,ESI
1A29327F E8 6CFDFFFF CALL gamex86.1A292FF0
|
/---------------------------/
V
...
1A293000 8BB4BD 04610000 MOV ESI,DWORD PTR SS:[EBP+EDI*4+6104] ; step 3
1A293007 85F6 TEST ESI,ESI
1A293009 74 10 JE SHORT gamex86.1A29301B
1A29300B 8BCE MOV ECX,ESI
1A29300D E8 1EB10000 CALL gamex86.1A29E130
|
/---------------------------/
V
1A29E130 8B49 04 MOV ECX,DWORD PTR DS:[ECX+4] ; step 4
1A29E133 85C9 TEST ECX,ECX
1A29E135 74 08 JE SHORT gamex86.1A29E13F
1A29E137 8B01 MOV EAX,DWORD PTR DS:[ECX] ; step 5
1A29E139 8B10 MOV EDX,DWORD PTR DS:[EAX] ; step 6
1A29E13B 6A 01 PUSH 1
1A29E13D FFD2 CALL EDX ; code execution
1A29E13F C3 RETN
---
<*来源:Luigi Auriemma (
aluigi@pivx.com)
链接:
http://aluigi.altervista.org/adv/idtech4carray-adv.txt
http://secunia.com/advisories/40277/
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://aluigi.altervista.org/poc/idtech4carray.zip建议:
厂商补丁:
id Software
-----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.idsoftware.com浏览次数:2829
严重程度:0(网友投票)