OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
Re: local buffer overflow in htpasswd for apache 1.3.31 not fixed in .33?

From: Anton R Ivanov (arivanovsigsegv.cx)
Date: Sat Oct 30 2004 - 01:39:48 CDT


Hi list, hi Andre,

 Agree wholeheartedly. We saw this as far back as 1998 and ignored it for the
exact same reason. I bet we were not the only ones.

 At the time It took me around half an hour to write a replacement
user-add/password change CGI in perl.

 htpasswd was never intended to be run setuid or from scripts. Anyone who have
tried doing so without subjecting it to an audit gets whatever they deserve.
You have to understand what you are doing before whacking an arbitrary
program with the +s bit.

A.

On Friday 29 October 2004 22:53, André Malo wrote:
> * Larry Cashdollar <lwcvapid.ath.cx> wrote:
> > This was posted on the full-disclosure list sept 16 2004 by
> > Luiz Fernando.
> >
> > http://archives.neohapsis.com/archives/fulldisclosure/2004-09/0547.html
> >
> > The nessus check for this vulnerability recommends upgrading to
> > Apache version 1.3.32:
> >
> > http://cgi.nessus.org/plugins/dump.php3?id=14771
> >
> > But in Apache 1.3.33:
> >
> > lachoy# grep strcpy /install/src/apache_1.3.33/src/support/htpasswd.c
> > strcpy(record, user);
> > strcpy(pwfilename, argv[i]);
> > strcpy(user, argv[i + 1]);
> > strcpy(password, argv[i + 2]);
> > strcpy(scratch, line);
> >
> > It is still vulnerable.
>
> If you start htpasswd from a shell and you exploit some kind of buffer
> overflow, you get ... a shell?. Wow!
>
> Whoever runs htpasswd setuid is darn silly. The httpd developers, the docs
> and commonsense tell, that the program is just not designed for such an
> intention.
>
> Or in other words, take any program that's not designed for being run
> setuid and you'll find a "vulnerability" (e.g. with malloc debug
> environment variables or the like).
>
> Sorry, I can't see a security vulnerability here.
>
> nd