安全研究

安全漏洞
Quake II Server多个安全漏洞

发布日期:2004-10-27
更新日期:2004-10-28

受影响系统:
id Software Quake II 3.2x
id Software Quake II 3.14
id Software Quake II 3.13
描述:
BUGTRAQ  ID: 11551

Quake II Server用于互联网上多用户交互式的流行游戏。

Quake II Server在多个阶段没有正确检查用户输入,远程攻击者可以利用这些漏洞获得敏感信息,进行拒绝服务或可能以进程权限执行任意指令。

问题一是数组边界错误:

在处理连接过程中的configstrings和baselines数据缺少充分符号检查,结果可导致越界访问而崩溃。

问题二处理包时存在缓冲区溢出:

在接收到命令包时,服务器对接收字符串长度缺少正确的边界缓冲区检查,可导致缓冲区溢出。通过伪造源地址和UDP包,可能以进程权限在系统上执行任意指令。

问题三Win32平台的服务器允许下载敏感文件

Quake II允许用户下载服务器内容,如地图等,但对路径数据缺少充分过滤,"download \/server.cfg"命令可导致下载敏感配置文件。

问题四Linux服务程序下载拒绝服务

提交"download  /maps/"下载命令会导致服务器尝试打开MAPS目录,而导致服务崩溃。

问题五伪造客户端拒绝服务

由于服务程序设置长的超时值和没有限制对单个IP的连接值,伪造客户端可对服务程序进行拒绝服务。

问题六IP伪造

构早足够大的客户端userinfo字符串,可使key/value对截断,通过插入命名为"ip"的KEY,可欺骗服务程序错误的从用户信息中读取IP,而导致绕过服务器的BAN等限制。

问题七客户端状态结果破坏:

通过不正确发布disconnect命令,客户端会持续连接副,当客户端再连接时,会导致出现不可预料问题。

问题八是本地缓冲区溢出:

服务器控制台和RCON命令多个函数没有正确检查边界缓冲区,结果可导致服务程序崩溃。

<*来源:Richard Stanway (bugtraq@r1ch.net
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=109892527321706&w=2
*>

建议:
厂商补丁:

id Software
-----------
可使用如下第三方程序:

http://www.r1ch.net/stuff/r1q2/

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