Alien Arena 2007远程格式串及拒绝服务漏洞
发布日期:2007-09-05
更新日期:2007-09-17
受影响系统:
COR Entertainment Alien Arena 2007 <= 6.10
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 25559
Alien Arena 2007是基于Quake 2引擎的GPL代码所开发的开源第一人称扮演游戏。
Alien Arena 2007在处理畸形的请求数据时存在漏洞,远程安全者可能利用此漏洞导致拒绝服务或控制系统。
Alien Arena 2007的safe_bprintf函数没有正确地使用cprintf,允许安全者通过发送畸形的昵称导致执行任意指令。game/acesrc/acebot_cmds.c文件中的漏洞代码如下:
void safe_bprintf (int printlevel, char *fmt, ...){ int i; char bigbuffer[0x10000]; int len; va_list argptr; edict_t *cl_ent; va_start (argptr,fmt); len = vsprintf (bigbuffer,fmt,argptr); va_end (argptr); if (dedicated->value) gi.cprintf(NULL, printlevel, bigbuffer); for (i=0 ; i<maxclients->value ; i++) { cl_ent = g_edicts + 1 + i; if (!cl_ent->inuse || cl_ent->is_bot) continue; gi.cprintf(cl_ent, printlevel, bigbuffer); }}
在进行查询的时候,游戏服务器会返回很多信息,包括当前的玩家列表及其IP地址等。在获得了这些信息后,安全者可以向上述IP和端口发送client_connect命令导致断开所有的客户端。
<*来源:Luigi Auriemma (aluigi@pivx.com)
链接:http://secunia.com/advisories/26819/
http://aluigi.altervista.org/adv/aa2k7x-adv.txt
*>
建议:
--------------------------------------------------------------------------------
厂商补丁:
COR Entertainment
-----------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://red.planetarena.org/