net: Don't export sysctls to unprivileged users
In preparation for supporting the creation of network namespaces by unprivileged users, modify all of the per net sysctl exports and refuse to allow them to unprivileged users. This makes it safe for unprivileged users in general to access per net sysctls, and allows sysctls to be exported to unprivileged users on an individual basis as they are deemed safe. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
73f7ef4359
commit
464dc801c7
@@ -34,6 +34,10 @@ int __net_init unix_sysctl_register(struct net *net)
|
||||
if (table == NULL)
|
||||
goto err_alloc;
|
||||
|
||||
/* Don't export sysctls to unprivileged users */
|
||||
if (net->user_ns != &init_user_ns)
|
||||
table[0].procname = NULL;
|
||||
|
||||
table[0].data = &net->unx.sysctl_max_dgram_qlen;
|
||||
net->unx.ctl = register_net_sysctl(net, "net/unix", table);
|
||||
if (net->unx.ctl == NULL)
|
||||
|
Reference in New Issue
Block a user