<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>131010</bug_id>
          
          <creation_ts>2006-04-23 12:28 0000</creation_ts>
          <short_desc>games-simulation/openttd: remote DoS against client and server (CVE-2006-199[89])</short_desc>
          <delta_ts>2006-09-06 09:54:19 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Security</product>
          <component>Vulnerabilities</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          <bug_file_loc>http://archives.neohapsis.com/archives/fulldisclosure/2006-04/0639.html</bug_file_loc>
          <status_whiteboard>B3 [glsa] Falco</status_whiteboard>
          
          <priority>P2</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>falco@gentoo.org</reporter>
          <assigned_to>security@gentoo.org</assigned_to>
          <cc>dholm@gentoo.org</cc>
    
    <cc>games@gentoo.org</cc>
    
    <cc>pylon@gentoo.org</cc>
    
    <cc>robbat2@gentoo.org</cc>
    
    <cc>tcort@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2006-04-23 12:28:02 0000</bug_when>
            <thetext>Both bugs are mentionned in http://archives.neohapsis.com/archives/fulldisclosure/2006-04/0639.html . There are both fixed in SVN http://www.openttd.org/nightly.php

-----------------------------------------------
A] program termination through big error number
-----------------------------------------------

Both client and server handle a type of command (PACKET_SERVER_ERROR
and PACKET_CLIENT_ERROR) for the visualization of some pre-built errors
in the console.
The problem happens when an attacker sends an invalid big error number
(8 bit) which forces the program to terminate spontaneously through the
usage of the error() function.
The bug is exploitable only in-game so the attacker must have access to
the server: his IP must not be banned, he must know the password if it
has been set and the server must not be full.
&gt;From strings.c:

char *GetStringWithArgs(char *buffr, uint string, const int32 *argv)
{
        uint index = GB(string,  0, 11);
        uint tab   = GB(string, 11,  5);

    ...

        if (index &gt;= _langtab_num[tab]) {
                error(
                        &quot;!String 0x%X is invalid. &quot;
                        &quot;Probably because an old version of the .lng file.\n&quot;, string
                );
        }

        return FormatString(buffr, GetStringPtr(GB(string, 0, 16)), argv, GB(string, 24, 8));
}


------------------------------------------------------
B] broadcast clients disconnection in multiplayer menu
------------------------------------------------------

Clients are affected by an harmless bug when they handle UDP packets.
The first 2 bytes of each UDP packet are a 16 bit number which
specifies the size of the packet.
If this value in a received packet is invalid (for example too small)
the client returns immediately to the main menu.
This bug becomes problematic when a malicious server visible in the
master server list sends invalid replies to the queries sent from the
clients which want to play online and will be no longer able to do it
due to the returning to the main menu.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2006-04-23 13:18:40 0000</bug_when>
            <thetext>Our stable ebuild (0.4.0.1-r1) is NOT affected by bug A. (it does not contain the quoted extract of code, from strings.c). Consequently, no GLSA will be issued for this vuln.
I can&apos;t say if we are vulnerable to bug B : security team or game team, please advise :)

Our ~arch ebuild (0.4.7) seems to be vulnerable to bug A. (it contains the quoted extract of code, from strings.c)

In all cases, the current SVN is known to be patched, but i can&apos;t isolate the good patches.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mr_bones_@gentoo.org</who>
            <bug_when>2006-04-23 15:42:41 0000</bug_when>
            <thetext>Be sure to cc the maintainer for stuff like this.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>koon@gentoo.org</who>
            <bug_when>2006-04-28 12:10:37 0000</bug_when>
            <thetext>David, please advise</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>koon@gentoo.org</who>
            <bug_when>2006-05-09 10:17:53 0000</bug_when>
            <thetext>David seems to be MIA, games team might have an opinion on what to do on this one ?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2006-05-29 12:21:15 0000</bug_when>
            <thetext>I&apos;ve masked 0.4.7 and up, but would really think the best solution for us, as the &quot;backup&quot; for the maintainer, is to wait for the next version.  Has anyone verified if we are/are not vulnerable to bug B with the current stable?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dercorny@gentoo.org</who>
            <bug_when>2006-05-30 08:32:18 0000</bug_when>
            <thetext>masked, setting to enhancement status.

Let&apos;s have a vote about a temp maskingglsa: voting no here.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>frilled@gentoo.org</who>
            <bug_when>2006-05-30 08:39:03 0000</bug_when>
            <thetext>Voting &quot;no&quot;, too.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>koon@gentoo.org</who>
            <bug_when>2006-05-30 09:24:19 0000</bug_when>
            <thetext>policy says no maskglsa for a B3</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pylon@gentoo.org</who>
            <bug_when>2006-06-01 09:51:48 0000</bug_when>
            <thetext>I added those versions of openttd to portage.  dholm gave his okay to me.  So let me be responsible for further actions on this bug.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>robbat2@gentoo.org</who>
            <bug_when>2006-08-06 13:21:23 0000</bug_when>
            <thetext>could somebody responsible please adjust the package.mask to say that only 0.4.7 is blocked. 0.4.8_rc* do contain the fixes.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2006-08-09 08:27:02 0000</bug_when>
            <thetext>Done.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pylon@gentoo.org</who>
            <bug_when>2006-08-14 01:55:39 0000</bug_when>
            <thetext>openttd-0.4.8 is out and in portage.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2006-08-16 02:09:50 0000</bug_when>
            <thetext>OK we should try to test and stabilize it since there are probably some of our users who haven&apos;t unmerged the vulnerable ebuild.

Arches, please could you test and stabilize one of the &quot;-0.4.8(_rc.)?&quot; ebuilds ?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ticho@gentoo.org</who>
            <bug_when>2006-08-16 02:18:16 0000</bug_when>
            <thetext>I don&apos;t feel very comfortable with stabilizing release candidates, especially if they&apos;re unofficial. Is 0.4.8 ready for stable, or is that not an option?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2006-08-16 02:30:17 0000</bug_when>
            <thetext>&gt; Is 0.4.8 ready for stable, 

i think so


&gt; or is that not an option?

-0.4.8 is matched by &quot;-0.4.8(_rc.)?&quot; :)
 

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pylon@gentoo.org</who>
            <bug_when>2006-08-16 02:37:08 0000</bug_when>
            <thetext>(In reply to comment #14)
&gt; Is 0.4.8 ready for stable, or is that not an option?

From my point of view it&apos;s ready for stable.  But it&apos;s in portage for just two days now.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>blubb@gentoo.org</who>
            <bug_when>2006-08-16 05:14:10 0000</bug_when>
            <thetext>&gt; &gt; Is 0.4.8 ready for stable, or is that not an option?
&gt; 
&gt; From my point of view it&apos;s ready for stable.  But it&apos;s in portage for just two
&gt; days now.

We stablized tons of software only one or two days or even hours after it was put in the tree if it fixed a security issue. Also, this is a game and not a core package, so it shouldn&apos;t be such a problem, should it? :) </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>fauli@gentoo.org</who>
            <bug_when>2006-08-16 05:18:46 0000</bug_when>
            <thetext>[ebuild  N    ] games-simulation/openttd-0.4.8  USE=&quot;alsa png scenarios zlib -debug -dedicated -timidity&quot; 

1) emerges fine
2) passes collision test
3) I don&apos;t have the original game, so I cannot play it

Portage 2.1-r2 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.17-gentoo-r4 i686)
=================================================================
System uname: 2.6.17-gentoo-r4 i686 AMD Athlon(tm) XP 2500+
Gentoo Base System version 1.12.4
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS=&quot;x86&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-O2&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/share/X11/xkb&quot;
CONFIG_PROTECT_MASK=&quot;/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo&quot;
CXXFLAGS=&quot;-O2&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoconfig ccache collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict test&quot;
GENTOO_MIRRORS=&quot;ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo/&quot;
LANG=&quot;de_DE@euro&quot;
LC_ALL=&quot;de_DE@euro&quot;
LINGUAS=&quot;de&quot;
MAKEOPTS=&quot;-j2&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=&apos;/distfiles&apos; --exclude=&apos;/local&apos; --exclude=&apos;/packages&apos;&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/portage&quot;
SYNC=&quot;rsync://rsync.informatik.rwth-aachen.de/gentoo-portage&quot;
USE=&quot;x86 3dnow 3dnowext X Xaw3d a52 alsa arts artworkextra asf audiofile avi bash-completion beagle berkdb bidi bitmap-fonts bootsplash branding bzip2 cairo cdda cddb cdparanoia cdr cli cracklib crypt css cups curl custom-cflags dbus dga directfb divx4linux dlloader dri dts dvd dvdr dvdread dvi eds emacs emboss encode esd evo exif expat fam fat fbcon ffmpeg firefox foomaticdb fortran ftp gb gcj gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml hal icq idn imagemagick imap imlib ipv6 isdnlog java javascript jikes jpeg jpeg2k ldap leim libg++ libwww lm_sensors mad maildir matroska mbox mikmod mime mmx mmxext mng mono motif mp3 mpeg mpeg2 mule nautilus ncurses nforce2 nls nocardbus nptl nptlonly nsplugin nvidia objc ogg opengl pam pcre pdf pdflib perl plotutils pmu png ppds pppd preview-latex print python qt3 qt4 quicktime readline reflection reiserfs samba sdk session slang spell spl sse ssl svg svga t1lib tcltk tcpd test theora thunderbird tiff truetype truetype-fonts type1-fonts udev usb vcd videos vorbis win32codecs wmf wxwindows xine xml xorg xosd xv xvid zlib elibc_glibc input_devices_mouse input_devices_keyboard kernel_linux linguas_de userland_GNU video_cards_radeon video_cards_vesa video_cards_fbdev&quot;
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tsunam@gentoo.org</who>
            <bug_when>2006-08-16 20:23:31 0000</bug_when>
            <thetext>*poof x86* ^.^;;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dertobi123@gentoo.org</who>
            <bug_when>2006-08-18 08:50:45 0000</bug_when>
            <thetext>ppc stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tcort@gentoo.org</who>
            <bug_when>2006-08-18 15:25:46 0000</bug_when>
            <thetext>amd64 stable.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2006-08-21 01:09:46 0000</bug_when>
            <thetext>Thanks arches,

it&apos;s time to make a glsa decision.

i vote yes because of the server-side DoS .</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2006-08-21 11:20:18 0000</bug_when>
            <thetext>I tend to vote no.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2006-08-28 02:48:40 0000</bug_when>
            <thetext>heya sec team, holidays have finished, please vote :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2006-09-05 05:56:48 0000</bug_when>
            <thetext>Security, please vote.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>klieber@gentoo.org</who>
            <bug_when>2006-09-05 06:01:32 0000</bug_when>
            <thetext>if this really is a server side DoS, then I&apos;d vote for a glsa.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2006-09-05 06:05:33 0000</bug_when>
            <thetext>Two YES votes, then lets have a GLSA.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2006-09-06 09:54:19 0000</bug_when>
            <thetext>GLSA 200609-03

Remailed (again) to FD due to DNS failure.</thetext>
          </long_desc>
      
    </bug>

</bugzilla>