]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
audit: Limit audit requests to processes in the initial pid and user namespaces.
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 11 Sep 2012 06:20:20 +0000 (23:20 -0700)
committerEric W. Biederman <ebiederm@xmission.com>
Tue, 18 Sep 2012 00:38:42 +0000 (17:38 -0700)
This allows the code to safely make the assumption that all of the
uids gids and pids that need to be send in audit messages are in the
initial namespaces.

If someone cares we may lift this restriction someday but start with
limiting access so at least the code is always correct.

Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Eric Paris <eparis@redhat.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
kernel/audit.c

index ea3b7b6191c7af3347dce055a88af200c55d1f5d..7b7268e3073b9002da351ebcf2597c91a1fe91d1 100644 (file)
@@ -61,6 +61,7 @@
 #include <linux/netlink.h>
 #include <linux/freezer.h>
 #include <linux/tty.h>
+#include <linux/pid_namespace.h>
 
 #include "audit.h"
 
@@ -588,6 +589,11 @@ static int audit_netlink_ok(struct sk_buff *skb, u16 msg_type)
 {
        int err = 0;
 
+       /* Only support the initial namespaces for now. */
+       if ((current_user_ns() != &init_user_ns) ||
+           (task_active_pid_ns(current) != &init_pid_ns))
+               return -EPERM;
+
        switch (msg_type) {
        case AUDIT_GET:
        case AUDIT_LIST: