<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>191484</bug_id>
          
          <creation_ts>2007-09-06 11:06 0000</creation_ts>
          <short_desc>games-fps/alienarena Format String and DoS vulnerabilities (CVE-2007-475[45])</short_desc>
          <delta_ts>2007-09-24 21:32:33 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Security</product>
          <component>Vulnerabilities</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          <bug_file_loc>http://archives.neohapsis.com/archives/fulldisclosure/2007-09/0049.html</bug_file_loc>
          <status_whiteboard>~1 [noglsa]</status_whiteboard>
          
          <priority>P2</priority>
          <bug_severity>trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mjf@gentoo.org</reporter>
          <assigned_to>security@gentoo.org</assigned_to>
          <cc>games@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>mjf@gentoo.org</who>
            <bug_when>2007-09-06 11:06:34 0000</bug_when>
            <thetext>----------------------------------------
A] in-game format string in safe_bprintf
----------------------------------------

A format string vulnerability is located in the safe_bprintf function
caused by the usage of cprintf without the needed format argument.
The bug can be exploited in-game (so with the usual possible password
and banning limitations) using a malformed nickname:

from 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-&gt;value)
        gi.cprintf(NULL, printlevel, bigbuffer);

    for (i=0 ; i&lt;maxclients-&gt;value ; i++)
    {
        cl_ent = g_edicts + 1 + i;
        if (!cl_ent-&gt;inuse || cl_ent-&gt;is_bot)
            continue;

        gi.cprintf(cl_ent, printlevel, bigbuffer);
    }
}

-------------------------------------------------------
B] clients disconnection through spoofed client_connect
-------------------------------------------------------

When queried the game server returns many informations included the
list of players which are currently playing and their IP addresses too.
Although the Quake 2 protocol isn&apos;t prone to spoofing attacks
(differently to what happens with Quake 3 and the disconnect packet)
here is possible to block and disconnect all the clients which are
playing on the server simply using the &quot;client_connect&quot; command.

So an attacker needs only to query the server, getting the list of
IP:port of the players and sending this command to them using the IP
and the port of the server as source.
The client will be no longer able to move or send commands in the
server and after some minutes it will time out, until this moment it
cannot rejoin the same server. 

======
4) Fix
======

No fix.
The developer has not been contacted because he is too stupid for
understanding a bug report:

  http://www.quakesrc.org/forums/viewtopic.php?t=6843&amp;start=1</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mjf@gentoo.org</who>
            <bug_when>2007-09-06 11:10:01 0000</bug_when>
            <thetext>CC&apos;ing herd and setting whiteboard status.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>rbu@gentoo.org</who>
            <bug_when>2007-09-23 16:57:00 0000</bug_when>
            <thetext>CVE assigned CVE-2007-4754 and CVE-2007-4755.
Games, please advise.

Nico Golde from Debian fixed this issue in [1], the patch is at [2].
[1] http://bugs.debian.org/442075
[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=20;filename=alien-arena_6.05-4_6.05-4.1.patch;att=1;bug=442075</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nyhm@gentoo.org</who>
            <bug_when>2007-09-24 21:27:33 0000</bug_when>
            <thetext>patched in alienarena-20070613-r1</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2007-09-24 21:32:33 0000</bug_when>
            <thetext>Thx Tristan. Closing with no GLSA.</thetext>
          </long_desc>
      
    </bug>

</bugzilla>