Buffer-overflow in C'Nedra 0.4.0
#######################################################################
Luigi Auriemma
Application: C'Nedra
http://www.cnedra.org
Versions: <= 0.4.0
Platforms: Windows and Unix
Bug: buffer-overflow in READ_TCP_STRING
Exploitation: remote, versus server
Date: 26 May 2005
Author: Luigi Auriemma
e-mail: aluigi@xxxxxxxxxxxxx
web: http://aluigi.altervista.org
#######################################################################
1) Introduction
2) Bug
3) The Code
4) Fix
#######################################################################
===============
1) Introduction
===============
C'Nedra is an open source virtual reality framework for the creation of
various worlds and applications.
#######################################################################
======
2) Bug
======
The network plugin is affected by a buffer-overflow in the function
READ_TCP_STRING() located in game_message_functions.cpp and used to
read the text strings received from the network.
First it reads the 32 bit number that specifies the size of the text
string and then copies it into a local buffer of only 100 bytes
allowing an attacker to execute malicious code.
#######################################################################
===========
3) The Code
===========
http://aluigi.altervista.org/poc/cnedrabof.zip
#######################################################################
======
4) Fix
======
No fix.
No reply from the developers.
#######################################################################
---
Luigi Auriemma
http://aluigi.altervista.org