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

Re: local buffer overflow in htpasswd for apache 1.3.31 not fixed in .33?



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 <lwc@xxxxxxxxxxxx> 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