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>