svn commit: r199983 - in head: lib/libc/stdlib tools/regression/environ

Colin Percival cperciva at freebsd.org
Tue Dec 1 06:09:49 UTC 2009


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


More information about the svn-src-all mailing list