Date: Mon, 30 Nov 2009 22:09:48 -0800 From: Colin Percival <cperciva@freebsd.org> To: Brian Feldman <green@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r199983 - in head: lib/libc/stdlib tools/regression/environ Message-ID: <4B14B32C.3060409@freebsd.org> In-Reply-To: <200912010504.nB154VnS053167@svn.freebsd.org> References: <200912010504.nB154VnS053167@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Brian Feldman wrote:
> Do not gratuitously fail *env(3) operations due to corrupt ('='-less)
> **environ entries. This puts non-getenv(3) operations in line with
> getenv(3) in that bad environ entries do not cause all operations to
> fail. There is still some inconsistency in that getenv(3) in the
> absence of any environment-modifying operation does not emit corrupt
> environ entry warnings.
>
> I also fixed another inconsistency in getenv(3) where updating the
> global environ pointer would not be reflected in the return values.
> It would have taken an intermediary setenv(3)/putenv(3)/unsetenv(3)
> in order to see the change.
The FreeBSD Security Team is currently dealing with a security issue relating
to this code. Please back out your change (at least to getenv.c; I don't
particularly care about the regression tests) until we've finished, and then
submit the patch to us for review along with a detailed explanation of what
it does.
We've already had two major security issues arising out of getenv.c in the
past year, and I'd like to make sure we don't have a third.
--
Colin Percival
Security Officer, FreeBSD | freebsd.org | The power to serve
Founder / author, Tarsnap | tarsnap.com | Online backups for the truly paranoid
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B14B32C.3060409>
