[prev in list] [next in list] [prev in thread] [next in thread] 

List:       oss-security
Subject:    Re: [oss-security] CVE id request: openttd
From:       Nico Golde <oss-security+ml () ngolde ! de>
Date:       2008-08-05 22:38:25
Message-ID: 20080805223825.GA4437 () ngolde ! de
[Download RAW message or body]


Hi Robert,
here we go...
* Robert Buchholz <rbu@gentoo.org> [2008-08-05 06:29]:
> On Monday 04 August 2008, Nico Golde wrote:
> > "OpenTTD servers of version 0.6.1 and below are susceptible to a
> > remotely exploitable buffer overflow when the server is filled with
> > companies and clients with names that are (near) the maximum allowed
> > length for names. In the worst case OpenTTD will write the following
> > (mostly remotely changable bytes) into 1460 bytes of malloc-ed
> > memory:
> > up to 11 times (amount of players) 118 bytes
> > up to 8 times (amount of companies) 124 bytes
> > and 7 "header" bytes
> > Resulting in up to 2297 bytes being written in 1460 bytes of
> > malloc-ed memory. This makes it possible to remotely crash the game
> > or change the gamestate into an unrecoverable state.  "
> >
> > This is Debian bug #493714.
> >
> > I didn't yet have the time to check the diff between the versions.
> 
> Secunia interpreted [1] the "remotely exploitable buffer overflows" 
> mentioned in the changelog [2] to be a "boundary error within 
> the "TruncateString()" function in src/gfx.cpp". This would be the 
> following patch [3].

This is only used when drawing the data but not for 
communicatin between server and clients.

> However, this would overwrite the buffer by max. 2 
> bytes, and does not match your bug description too well. Is this maybe 
> r13712 [4] ?

Not exactly, this is the length enforcement on the client 
side. The fix on the server side is
svn diff -c 13713 svn://svn.openttd.org/trunk.
However the problem with this is that it does break network 
compatibility between different versions so it might be a 
bad idea to backport this. This way you can only proceed 
playing with people who also use this backported fix :/

Kind regards
Nico

-- 
Nico Golde - http://www.ngolde.de - nion@jabber.ccc.de - GPG: 0x73647CFF
For security reasons, all text in this mail is double-rot13 encrypted.

[Attachment #3 (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic