<<< Date Index >>>     <<< Thread Index >>>

DoS in Rsniff 1.0



#######################################################################

                             Luigi Auriemma

Application:  RSniff (Remote Sniff)
              http://www.cse.sc.edu/~madamanc/projects.html 
Versions:     1.0
Platforms:    Linux
Bug:          Denial of Service
Risk:         low
Exploitation: remote
Date:         09 Apr 2004
Author:       Luigi Auriemma
              e-mail: aluigi@xxxxxxxxxxxxxx
              web:    http://aluigi.altervista.org


#######################################################################


1) Introduction
2) Bug
3) The Code
4) Fix


#######################################################################

===============
1) Introduction
===============


Rsniff is a remote sniffer for Linux written by Rajesh Kumar
Madamanchi.


#######################################################################

======
2) Bug
======


Look the following code in server.c:

153    {
154        printf ("RSniff Server: Authentication failed!\n");
155        continue;
156    }

This operation happens when a client connects to the Rsniff server and
sends a command different than AUTHENTICATE (a 32 bit number equal to
zero) or simply closes the connection without sending data.
The result is the restart of the binding loop, so the socket will be
recreated BUT the old socket will not be closed.

After 1024 connections the server will finish all the available file
descriptors and will not accept new clients.


#######################################################################

===========
3) The Code
===========


http://aluigi.altervista.org/poc/emptyconn.zip


#######################################################################

======
4) Fix
======


Add "close (new_sockfd);" at line 156:

153    {
154        printf ("RSniff Server: Authentication failed!\n");
155        continue;
156        close (new_sockfd);  /* PATCH */
157    }

However Rajesh has been contacted and will release a new version soon. 


#######################################################################


--- 
Luigi Auriemma
http://aluigi.altervista.org