Chrome 1.2.0.0 server crash
#######################################################################
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: aluigi@xxxxxxxxxxxxxx
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