>John Plocher wrote:
>> What is the basic use case for this priv?
>
>I assumed it was to let setuid programs have one more thing they could
>give up, to reduce the number of things an exploit could do if you did
>find a security hole in them that allowed running arbitrary code, like
>most of the rest of the "basic" privileges.

It is also possible to contain users in a "can't break out" shell; they 
can run their application but they cannot copy data outside of the machine.

In Solaris 8 you can get this functionality by adding an ACL to /dev/tcp;


>> I think the difference is that for those, the set of system middleware
>> we provide doesn't silently rely on them for proper operation;
>
>Just various non-obvious functions in libc().   (Do you think most programmers
>realize wordexp(), pututxline() or grantpt() call fork+exec?)


Absolutely; I think, though, that grantpt() no longer calls exec: pt_chmod 
is gone (or is it now running devfsadm).

Having testing the net_access privilege, I can say that few library calls 
use AF_INET sockets for IPC.  Note that localhost RPC will not use AF_INET;
name service lookups will use sockets but you nscd will do it for you.

With cscope, I wasn't able to find a library routine which uses networking
as IPC without clearly being a network function.

But even such interface exists, I don't believe that that is fatal to this 
proposal; similarly to issues with wordexp(), pututxline(), grantpt().

Casper

Reply via email to