A vulnerability has been reported in the Linux Kernel, which can be exploited
by malicious, local users to gain escalated privileges.
The vulnerability is caused due to an error within the "scm_check_creds()"
function (net/core/scm.c) and can be exploited to gain escalated privileges by
spoofing a PID.
The vulnerability is reported in version 3.10.10.
Solution:
Fixed in the GIT repository.
Provided and/or discovered by:
Disclosed within a GIT commit.
Original Advisory:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/net/core/scm.c?id=d661684cf6820331feae71146c35da83d794467e
diff --git a/net/core/scm.c b/net/core/scm.c
index 03795d0..b4da80b 100644
--- a/net/core/scm.c
+++ b/net/core/scm.c
@@ -54,7 +54,7 @@ static __inline__ int scm_check_creds(struct ucred *creds)
return -EINVAL;
if ((creds->pid == task_tgid_vnr(current) ||
- ns_capable(current->nsproxy->pid_ns->user_ns, CAP_SYS_ADMIN)) &&
+ ns_capable(task_active_pid_ns(current)->user_ns, CAP_SYS_ADMIN)) &&
((uid_eq(uid, cred->uid) || uid_eq(uid, cred->euid) ||
uid_eq(uid, cred->suid)) || nsown_capable(CAP_SETUID)) &&
((gid_eq(gid, cred->gid) || gid_eq(gid, cred->egid) ||
generated by cgit v0.9.2 at 2013-09-04 13:29:19 (GMT)