All of lore.kernel.org
 help / color / mirror / Atom feed
* module loading with CAP_NET_ADMIN
@ 2011-02-24 15:12 Vasiliy Kulikov
  2011-02-24 16:34 ` Ben Hutchings
  0 siblings, 1 reply; 54+ messages in thread
From: Vasiliy Kulikov @ 2011-02-24 15:12 UTC (permalink / raw)
  To: netdev
  Cc: linux-kernel, Kees Cook, Eugene Teo, Dan Rosenberg, David S. Miller

Hi netdev folks,

I'd like to discuss the ability to load any modules from /lib/modules/
by a process with CAP_NET_ADMIN.  Since Linux 2.6.32 [1] there is such
possibility:

root@albatros:~# grep Cap /proc/$$/status
CapInh: 0000000000000000
CapPrm: fffffffc00001000
CapEff: fffffffc00001000
CapBnd: fffffffc00001000
root@albatros:~# lsmod | grep xfs
root@albatros:~# ifconfig xfs
xfs: error fetching interface information: Device not found
root@albatros:~# lsmod | grep xfs
xfs                   767011  0 
exportfs                4226  2 xfs,nfsd

Ability of CAP_NET_ADMIN to load the driver to work with a particular
network device is rational;  however, one may load any module not even
related to network this way.  Hopefully, this is not equal to
CAP_SYS_MODULE since the module set is restricted to /lib/modules
(additionally may be disabled with /proc/sys/kernel/modules_disabled),
but the idea of non-netdev module loading is weird.

My proposal is changing request_module("%s", name) to something like
request_module("netdev-%s", name) inside of dev_load() and adding
aliases to related drivers.  This would allow to load only netdev
modules via these ioctls.  I'm not sure what modules should be patches -
at least real physical netdevices have names different from drivers'
names, so they don't need patching.  I suppose the list is not big.

Any comments are welcome.


[1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c


Thanks,

-- 
Vasiliy Kulikov
http://www.openwall.com - bringing security into open computing environments

^ permalink raw reply	[flat|nested] 54+ messages in thread

end of thread, other threads:[~2011-03-26 10:35 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-24 15:12 module loading with CAP_NET_ADMIN Vasiliy Kulikov
2011-02-24 16:34 ` Ben Hutchings
2011-02-25 12:30   ` Vasiliy Kulikov
2011-02-25 15:14     ` [PATCH] don't allow CAP_NET_ADMIN to load non-netdev kernel modules Vasiliy Kulikov
2011-02-25 17:25       ` Valdis.Kletnieks
2011-02-25 17:47         ` Vasiliy Kulikov
2011-02-25 17:48         ` Ben Hutchings
2011-02-25 18:47       ` David Miller
2011-02-25 19:02         ` Vasiliy Kulikov
2011-02-25 19:05           ` David Miller
2011-02-25 19:07             ` Ben Hutchings
2011-02-25 19:16               ` David Miller
2011-02-25 19:30                 ` Ben Hutchings
2011-02-25 19:43                   ` David Miller
2011-02-25 19:53                     ` Ben Hutchings
2011-02-25 20:37                       ` David Miller
2011-02-25 20:38                       ` Ben Hutchings
2011-02-25 20:59                         ` Michał Mirosław
2011-02-27 20:22                           ` Arnd Bergmann
2011-02-28  9:29                             ` Michael Tokarev
2011-02-28  9:51                               ` Vasiliy Kulikov
2011-02-28 19:23                                 ` David Miller
2011-03-01 19:48                                   ` [PATCH] net: " Vasiliy Kulikov
2011-03-01 20:13                                     ` Ben Hutchings
2011-03-01 21:33                                       ` [PATCH v2] " Vasiliy Kulikov
2011-03-02  7:15                                         ` Michael Tokarev
2011-03-09 22:06                                           ` Vasiliy Kulikov
2011-03-09 22:09                                             ` David Miller
2011-03-09 22:53                                               ` James Morris
2011-03-10  9:49                                                 ` Vasiliy Kulikov
2011-03-02 16:01                                         ` Kees Cook
2011-03-02 19:39                                         ` Jake Edge
2011-03-02 19:43                                           ` Vasiliy Kulikov
2011-03-02 19:49                                             ` Jake Edge
2011-03-02 20:18                                               ` Vasiliy Kulikov
2011-03-02 20:38                                                 ` Jake Edge
2011-03-02 20:40                                                 ` Jake Edge
2011-03-22 20:47                                         ` Eric Paris
2011-03-22 20:47                                           ` Eric Paris
2011-03-24 15:37                                           ` Serge E. Hallyn
2011-03-24 18:03                                             ` Eric Paris
2011-03-24 18:33                                               ` Ben Hutchings
2011-03-24 20:26                                                 ` Serge E. Hallyn
2011-03-24 21:39                                                   ` Stephen Hemminger
2011-03-24 21:46                                                     ` David Miller
2011-03-24 21:57                                                       ` Serge E. Hallyn
2011-03-24 22:15                                                         ` Eric Paris
2011-03-24 21:57                                                       ` Greg KH
2011-03-26 10:35                                                       ` Vasiliy Kulikov
2011-02-27 11:44                 ` [PATCH] " Vasiliy Kulikov
2011-02-27 23:18                   ` David Miller
2011-02-27 23:19                   ` David Miller
2011-02-25 15:29     ` module loading with CAP_NET_ADMIN Michael Tokarev
2011-02-25 15:57       ` Vasiliy Kulikov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.