Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Mar 2004 06:58:20 -0600
From:      "Jacques A. Vidrine" <nectar@FreeBSD.org>
To:        Marc Olzheim <marcolz@stack.nl>
Cc:        security@FreeBSD.org
Subject:   Re: bin/64150: [PATCH] ls(1) coredumps when started via execve(2) with no argv.
Message-ID:  <20040312125820.GA8574@lum.celabo.org>
In-Reply-To: <20040312111526.GA14260@stack.nl>
References:  <200403120922.i2C9M0jC002510@stud326.idi.ntnu.no> <20040312104914.GA52099@ip.net.ua> <20040312105730.GA99925@stud326.idi.ntnu.no> <20040312110657.GB52099@ip.net.ua> <20040312111526.GA14260@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
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@celabo.org / jvidrine@verio.net / nectar@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040312125820.GA8574>