bin/64150: [PATCH] ls(1) coredumps when started via execve(2) with no argv.

Jacques A. Vidrine nectar at FreeBSD.org
Fri Mar 12 07:10:34 PST 2004


On Fri, Mar 12, 2004 at 12:15:26PM +0100, Marc Olzheim wrote:
> On Fri, Mar 12, 2004 at 01:06:57PM +0200, Ruslan Ermilov wrote:
> > And the fact that optind is initially set to 1.  I wonder what
> > could be the implications for setuid programs.  There could be
> > quite unpredictable results, as the "argv" pointer is incorrectly
> > advanced in this case, and at least several setuid programs that
> > I've glanced at are vulnerable to this attack.
> 
> See also: http://www.freebsd.org/cgi/query-pr.cgi?pr=33738

Thanks Ruslan, Marc,

I think kern/33738 is on the money.  I do not see any immediate
ramifications, but for peace of mind I believe that exec should fail if
the argument array pointer is NULL.

I believe this would be consistent with the relevant standards: POSIX
already requires (a) that the first argument ``should point to a
filename that is associated with the process being started'' and (b)
``the last member of this array is a null pointer''--- i.e. the array
pointer cannot be NULL.

Cheers,
-- 
Jacques Vidrine / nectar at celabo.org / jvidrine at verio.net / nectar at freebsd.org


More information about the freebsd-security mailing list