you'd have to hijack the rx connection entirely or spoof all the relevan
fetchdata replies, but it coyuld be done
On Wed, 21 Mar 2007, Kim Kimball wrote:
DETAIL under ACKNOWLEDGMENTS, referring to
Benjamin Bennet from PSC seem less specific than
spoofing a FetchStatus reply.
"Connections other than those on behalf of a user
are thus not as
general practice authenticated, although it is
theoretically possible to do so.
Because the connection is not authenticated it is
possible to spoof network
traffic from the server without it being detected.
Trusting unauthentic server
answers to allow assignment of proper privilege
level can allow privilege escalation. "
My reading of this says that network traffic from
a server can be spoofed, in general, since an
anonymous user will operate over an
unauthenticated connection. If so it seems it
would be possible to place a file in the cache as
well as spoof status.
Those more knowledgeable please debunk!
Thanks.
Kim
Jeffrey Altman wrote:
Jason Edgecombe wrote:
Dr A V Le Blanc wrote:
Hm, I have a difficulty about this one. We
have a large number of
systems
to which some thousands of users have access,
virtually none of which
are authenticated in AFS. These systems have
almost their entire
/lib, /bin, and all of /usr in AFS. A
substantial part of them
would stop working if we had all suid/sgid
programs disabled by
default. Short of copying every single binary
of this kind to the
local disk and chmoding it, I can't think how
we can cope with
setting suid off. Are we to have a permanent
security hole? Or is
there another way of dealing with this?
-- Owen
If these are Linux systems, then you could try
doing a loopback mount
out of AFS. It's not as flexible, but would
still work and would allow
suid even when AFS disallows it.
The basics are make a big file and format it as
ext2/ext3/squashfs, put
all of your binaries in it. Copy that file out
to AFS and have clients
mount that file as /usr, /lib, /bin.
The issue is that copying files out of /afs that
have the suid bit set
is not safe as long as the cache contents were
populated using an
unauthenticated connection to the file servers.
This is because when
unauthenticated connections are used there is no
keying material
available to prevent modifications to either the
status data that
indicates that a file should or should not be
executed suid or the
contents of the file itself.
It is for this reason that suid is being
disabled by default. Of
course, if you want to execute processes out of
/afs suid you can
do so simply by "fs setcell -cell <cellname>
-suid". You do not
need to use a loopback mount to work around the
default settings of
the cache manager.
That being said, the only real workaround is to
locally copy the
files using authenticated connections
<obtain tokens>
fs flush <dir>
fs flush <file>
cp -p <file> /local/path
chmod xxx /local/path
and then execute the suid files from the local
disk.
There simply is no other method available at the
moment within AFS.
Jeffrey Altman
Secure Endpoints Inc.
_______________________________________________
OpenAFS-info mailing list
OpenAFS-info@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-info