Date: Tue, 24 Oct 1995 05:56:34 +0300 (MSK) From: =?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=FE=C5=D2=CE=CF=D7?= (aka Andrey A. Chernov, Black Mage) <ache@astral.msk.su> To: Nate Williams <nate@rocky.sri.MT.net> Cc: ache@freefall.freebsd.org, David Greenman <davidg@freebsd.org>, freebsd-hackers@freebsd.org Subject: Re: ld.so, LD_NOSTD_PATH, and suid/sgid programs Message-ID: <PaYN5Zm4G1@ache.dialup.demos.ru> In-Reply-To: <199510240233.UAA24556@rocky.sri.MT.net>; from Nate Williams at Mon, 23 Oct 1995 20:33:33 -0600 References: <m0t7SFB-000078C@seattle.polstra.com> <Aagc1ZmOzJ@ache.dialup.demos.ru> <199510232318.RAA24039@rocky.sri.MT.net> <Faij2Zmq8S@ache.dialup.demos.ru> <199510240010.SAA24195@rocky.sri.MT.net> <Cax53Zm0GT@ache.dialup.demos.ru> <199510240233.UAA24556@rocky.sri.MT.net>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <199510240233.UAA24556@rocky.sri.MT.net> Nate Williams
    writes:
>[ Disabling LD_NOSTD_PATH for suid/guid programs ]
>> >> If user set LD_NOSTD_PATH it *NOT* look for normal places anymore.
>> 
>> >Then a system shared binary is *completely* and *utterly* useless.
>> 
>> Do you mean our /usr/bin/su useless f.e.?
>> Or maybe /usr/sbin/sendmail?
>If you unset LD_NOSTD_PATH with these programs they will fail, since
>they will not be able to find their shlibs.  There are *NO* known
>security risk by leaving the standard library path set in these
>programs.
I mean SET this variable and not UNSET. It is UNSET by default.
>> All shell scripts writted prior LD_NOSTD_PATH or writted not
>> in FreeBSD (f.e. SysV scriprs) deserve not only error messages
>> they get but unpredicatable code flow after it.
>Huh?
What huh?
>You can't provide me an example where unsetting LD_NOSTD_PATH is needed,
>so I would say that the burden of proof is on you.
unsetting -> setting.
I already post it to hackers list, check your mail system, maybe something
lost. Here it is again anyway:
In message <Dau-3ZmiH1@ache.dialup.demos.ru>
    =?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=FE=C5=D2=CE=CF=D7?= writes:
>Well, simple example:
>	setuid_shared_binary > /tmp/file
>	... (f.e. few static commands)
>	setuid_static_binary < /tmp/file  # OOPS!
>	(umask is restrictive, of course)
When LD_NOSTD_PATH is set (when it will works, of course),
first binary fails leaving an empty file and second binary
got empty input when it isn't suppose it.
I assume script was unbreakable, of course, i.e. all signals
was disabled. Now it becomes breakable.
Basically it means that intruder gains ability to selectively
control execution flow.
-- 
Andrey A. Chernov        : And I rest so composedly,  /Now, in my bed,
ache@astral.msk.su       : That any beholder  /Might fancy me dead -
http://dt.demos.su/~ache : Might start at beholding me,  /Thinking me dead.
RELCOM Team,FreeBSD Team :         E.A.Poe         From "For Annie" 1849
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?PaYN5Zm4G1>
