OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
[Full-Disclosure] Chrome 1.2.0.0 server crash

From: Luigi Auriemma (aluigialtervista.org)
Date: Thu Mar 18 2004 - 16:17:48 CST


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

                             Luigi Auriemma

Application: Chrome
              http://www.chromethegame.com
Versions: <= 1.2.0.0
Platforms: Windows
Bug: reading and writing into unallocated memory (crash)
Risk: medium/high
Exploitation: remote, versus server
Date: 18 Mar 2004
Author: Luigi Auriemma
              e-mail: aluigialtervista.org
              web: http://aluigi.altervista.org

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

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

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

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

Chrome is a cool game developed by Techland (http://www.techland.pl)
and is a futuristic FPP (First Person Perspective) shooting game whose
takes action on a planet of another solar system called Valkyria.

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

======
2) Bug
======

The problem is located in the following instructions:

  buff = malloc(value);
  memcpy(buff, packet + 8, value);

where "buff" is the new allocated buffer, "value" is a 32 bit number
located at offset 4 of the packet sent by the client and "packet" is
just this packet.
Now we have 2 interesting effects that have the same result (server's
crash):

- if "value" is too big the malloc() function will fail and there are
  no instructions to check it so the game will try to write into a bad
  memory zone (0x00000000)
- if "value" is big but is allocable, memcpy() will fail because the
  value is bigger than the packet so it will try to read from the
  unallocated memory after the data

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

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

http://aluigi.altervista.org/poc/chromeboom.zip

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

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

No fix.
Developers talked about the patching of their online servers and about
an eventual patch for users within over 2 weeks ago, but nothing has
been released yet and there are no informations from them.

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

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

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