Broadcast client crash in Halo 1.05
#######################################################################
Luigi Auriemma
Application: Halo: Combat Evolved
http://www.microsoft.com/games/pc/halo.aspx
Versions: <= 1.05
Platforms: Windows and MacOS
Bug: crash
Exploitation: remote, versus clients (broadcast)
Date: 22 November 2004
Author: Luigi Auriemma
e-mail: aluigi@xxxxxxxxxxxxxx
web: http://aluigi.altervista.org
#######################################################################
1) Introduction
2) Bug
3) The Code
4) Fix
#######################################################################
===============
1) Introduction
===============
Halo is the great FPS game developed by Bungie Studios and ported on PC
by Gearbox Software (http://www.gearboxsoftware.com).
It has been released at the end of 2003.
#######################################################################
======
2) Bug
======
The problem affects the in-game browser of the clients used to navigate
through the list of online servers and is caused by some overrun
protections. If these instructions find a too long value in a server's
reply, they pass a NULL pointer (instead of the original value) to a
wcsncpy() function causing the crash.
This is a broadcast client crash, so a single attacker visible in the
master server list can passively exploit any vulnerable client in the
world.
#######################################################################
===========
3) The Code
===========
http://aluigi.altervista.org/poc/halocboom.zip
#######################################################################
======
4) Fix
======
Version 1.06
#######################################################################
---
Luigi Auriemma
http://aluigi.altervista.org