安全研究

安全漏洞
Half-Life Server远程缓冲区溢出漏洞

发布日期:2003-07-29
更新日期:2003-08-01

受影响系统:
Half-Life Half-Life 1.1.1.0
描述:
Half-life是一款在线流行的FPS游戏。

Half-life服务程序不正确处理用户提交请求中参数值,远程攻击者可以利用这个漏洞对游戏服务器进行缓冲区溢出攻击,造成服务器崩溃。

当超长参数传递给加入多人比赛的报文中,并由客户端发送给服务器,如发送类似包含超大参数的包:

#define PAYLOAD [268 chars]
#define BOF "\xff\xff\xff\xff" \
/* 1 */ "connect %d" \
/* 2 */ " %s \"" \
                   "\\prot\\2" \
                   "\\unique\\-1" \
                   "\\raw\\00000000000000000000000000000000" \
                   "\" \"" \
                   "\\model\\" MODEL \
                   "\\topcolor\\" TOPCOLOR \
                   "\\bottomcolor\\" BOTTOMCOLOR \
                   "\\rate\\9999.000000" \
                   "\\cl_updaterate\\20" \
                   "\\cl_lw\\1" \
                   "\\cl_lc\\1" \
                   "\\cl_dlmax\\128" \
                   "\\hud_classautokill\\1" \
                   "\\name\\" NAME \
/* 3 */ "\\" PAYLOAD "\\value" \
                   "\"\n"


由于拷贝到堆栈缓冲中时,Half-Life服务器没有进行正确缓冲区边界检查,可导致发生缓冲区溢出,并进入无限循环,精心构建提交数据可能可能以服务程序权限在系统上执行任意指令。

另外在value字段也存在此缓冲区溢出问题。同样HL.exe也存在拒绝服务问题,不过循环的地址段不同而已。

<*来源:Auriemma Luigi (aluigi@pivx.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=105950590704304&w=2
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* PIVX提供的临时补丁如下:

Half-Life 1.1.1.0 dedicated server (retail game):


http://www.pivx.com/luigi/patches/hlbof-server-1110-fix.zip

Half-Life 4.1.1.1a dedicated server for Windows:

http://www.pivx.com/luigi/patches/hlbof-server-4111a-fix.zip

厂商补丁:

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

http://half-life.sierra.com

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