[Full-Disclosure] Crashes and socket unreacheable in Armagetron Advanced 0.2.7.0

From: Luigi Auriemma (aluigi_at_autistici.org)
Date: 02/10/05

  • Next message: idlabs-advisories_at_idefense.com: "[Full-Disclosure] iDEFENSE Security Advisory 02.10.05: Computer Associates BrightStor ARCserve Backup UniversalAgent Backdoor Vulnerability"
    Date: Thu, 10 Feb 2005 19:40:39 +0000
    To: bugtraq@securityfocus.com, bugs@securitytracker.com, news@securiteam.com, full-disclosure@lists.netsys.com, vuln@secunia.com, red@heisec.de
    
    

    #######################################################################

                                 Luigi Auriemma

    Application: Armagetron
                    http://armagetron.sourceforge.net
                  Armagetron Advanced
                    http://armagetronad.sourceforge.net
    Versions: Armagetron <= 0.2.6.0
                  Armagetron Advanced <= 0.2.7.0
    Platforms: multiplatform (Windows, Linux and others)
    Bugs: A] crash caused by big descriptor ID
                  B] crash caused by big claim_id
                  C] socket unreacheable through empty packet
                  D] fake players temporary freeze
    Exploitation: remote, versus server
    Date: 10 Feb 2005
    Author: Luigi Auriemma
                  e-mail: aluigi@autistici.org
                  web: http://aluigi.altervista.org

    #######################################################################

    1) Introduction
    2) Bugs
    3) The Code
    4) Fix

    #######################################################################

    ===============
    1) Introduction
    ===============

    Armagetron is the well known and played opensource multiplayer game
    developed by Manuel Moos.
    Recently the project Armagetron (until version 0.2.6.0) has been
    declared dead and is unofficial successor is Armagetron Advanced.

    #######################################################################

    =======
    2) Bugs
    =======

    ------------------------------------
    A] crash caused by big descriptor ID
    ------------------------------------

    The game uses an array of 400 descriptors, but clients can pass their
    descriptor ID using 16 bits numbers (so until 65535).
    In short a packet with an ID major than 400 is able to crash the server
    due to the access to an unallocated zone of the array.

    -------------------------------
    B] crash caused by big claim_id
    -------------------------------

    Just like the bug described before, exists a problem in the calling of
    the ANET_AddrCompare() function where is passed the peers structure (an
    array of 18 elements) pointing to the 16 bits value passed by the
    client at the end of his packet.

    -------------------------------------------
    C] socket unreacheable through empty packet
    -------------------------------------------

    The game uses asynchronous sockets through the usage of FIONREAD that
    returns the number of bytes received in the last packet (0 if there are
    no new packets).
    If the server receives an empty UDP packet it will continue to check
    the socket's queue infinitely since there are still 0 bytes and in the
    meantime it cannot handle other packets so all the clients will be
    automatically disconnected from him.
    The situation returns normal only when a new map starts and, so, the
    socket is recreated.

    --------------------------------
    D] fake players temporary freeze
    --------------------------------

    Simple, the server and any connected client freeze completely if too
    much players join and don't send data (time out). So an attacker can
    fill the server with fake players and when a new map starts (races on
    Armagetron are enough shorts) nobody will be able to play in that
    server.

    #######################################################################

    ===========
    3) The Code
    ===========

    A, B, C] http://aluigi.altervista.org/poc/atronboom.zip

    D] http://aluigi.altervista.org/fakep/atronfp.zip

    #######################################################################

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

    No fix.
    I reported the bugs A and D to the author many months ago but then I
    lost any contact with him.
    I have sent a mail to 2 of the new programmers of the Armagetron
    Advanced project explaining all the bugs but have received no reply.

    #######################################################################

    ---
    Luigi Auriemma
    http://aluigi.altervista.org

    _______________________________________________
    Full-Disclosure - We believe in it.
    Charter: http://lists.netsys.com/full-disclosure-charter.html


  • Next message: idlabs-advisories_at_idefense.com: "[Full-Disclosure] iDEFENSE Security Advisory 02.10.05: Computer Associates BrightStor ARCserve Backup UniversalAgent Backdoor Vulnerability"

    Relevant Pages

    • Crashes and socket unreacheable in Armagetron Advanced 0.2.7.0
      ... Bugs ... Armagetron is the well known and played opensource multiplayer game ... In short a packet with an ID major than 400 is able to crash the server ...
      (Bugtraq)
    • Crashes and socket unreacheable in Armagetron Advanced 0.2.7.0
      ... Bugs ... Armagetron is the well known and played opensource multiplayer game ... In short a packet with an ID major than 400 is able to crash the server ...
      (Full-Disclosure)
    • Re: gforth webserver, why isnt forth used all over ecommerce?
      ... spend a lot of time working around the compiler bugs etc. ... the reason why the manager looking to hire a programmer to do web applications isn't hiring Forth programmers is because Forth isn't on their radar screen. ... implementing yet another minimal HTTP server, or designing the application that rides on top of that server? ... The end result is that the Forth community has largely internalized the notion that "libraries are bad," supplemented with the usual array of pejorative, sour-grapes statements to go to justify it. ...
      (comp.lang.forth)
    • Re: If I get memory card, will email be stored on it?
      ... Microsoft cared about Windows Mobile quality, ... I've had Nokia phones that had more bugs than the Dash. ... in an IMAP mailbox, then when you send IMAP messages the copy ... Like many cellcos, AT&T offers their own SMTP server for customers whose ISPs block "off network" SMTP so any mail sent through AT&T's servers would NOT show up in your IMAP Sent folder, since your IMAP provider didn't actually "send" the mail- AT&T did on your behalf. ...
      (microsoft.public.pocketpc)
    • Re: Quality of FreeBSD
      ... Since then numerous bugs were fixed, ... large file systems, 64-bit support on newer AMD and Intel hardware, ... Since 6.x is maturing in pretty good synch with their deployment timeline ... as a virtual server product at an ISP. ...
      (freebsd-stable)