CVE:CVE-2004-2597
CNNVD:CNNVD-200412-1087
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命令多个函数没有正确检查边界缓冲区，结果可导致服务程序崩溃。
solution:Upgrade id_software quake_ii_server to a higher version than 3.20,3.21,and avoid the version 3.20,3.21