Re: NFS4 authentification / fsuid

Jan Engelhardt
2007-08-30T14:42:44Z

On Aug 30 2007 10:29, Trond Myklebust wrote:
>On Thu, 2007-08-30 at 16:12 +0200, Jan Engelhardt wrote:
>>
>> with NFS3, there is this 'root hole', i.e. any person who has a root
>> account (perhaps by use of a laptop) can mount an export (let's say this
>> export had the "root_squash" option), and still have a look at the user
>> files, because he can locally setuid() into another user.
>>
>> So I was looking for alternatives. CIFS is my favorite candidate, but it
>> has a few issues right now. So does sshfs and about everything I have
>> come across. Since I remember NFS4 can use KRB5 authentification, my
>> question is, will the NFS(4) server process run with an fsuid equal to
>> the user that authenticated?
>
>NFSv3 should work fine with krb5 too, but that won't solve your problem
>with setuid: kerberos saves the TGT in a file on /tmp, so root can still
>suid and grab your cred (and the same goes for CIFS).

Hm? I do not see this problem with CIFS. The user may have local
root, but on the server, he only has his non-root account on the
server, and as such, can only operate on the server using this
non-root fsuid. Did I miss something? (Especially the /dev/mem thing
is not quite clear to me.)

>BTW: even when this task is done, a creative root can still find ways to
>subvert the security (he can read /dev/mem, replace the kernel with a
>compromised one, ....). The bottom line is that if you can't trust root,
>don't even log in.

Jan
--