From 75c4229c4275a807dd0f89ad8c03da1e8d20f3bd Mon Sep 17 00:00:00 2001 From: Sona Sarmadi Date: Fri, 7 Oct 2016 09:15:45 +0200 Subject: kernel: CVE-2016-4951 Fixes null pointer dereference in tipc_nl_publ_dump. References: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4951 Reference to upstream fix: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/patch/?id=23cdd8c3cbe9d790f23d7f9ae14e9b828f56f69c Signed-off-by: Sona Sarmadi Signed-off-by: Adrian Dudau --- recipes-kernel/linux/files/CVE-2016-4951.patch | 43 ++++++++++++++++++++++++++ recipes-kernel/linux/linux-yocto_4.%.bbappend | 1 + 2 files changed, 44 insertions(+) create mode 100644 recipes-kernel/linux/files/CVE-2016-4951.patch diff --git a/recipes-kernel/linux/files/CVE-2016-4951.patch b/recipes-kernel/linux/files/CVE-2016-4951.patch new file mode 100644 index 0000000..31eb29e --- /dev/null +++ b/recipes-kernel/linux/files/CVE-2016-4951.patch @@ -0,0 +1,43 @@ +From 23cdd8c3cbe9d790f23d7f9ae14e9b828f56f69c Mon Sep 17 00:00:00 2001 +From: Richard Alpe +Date: Mon, 16 May 2016 11:14:54 +0200 +Subject: tipc: check nl sock before parsing nested attributes + +[ Upstream commit 45e093ae2830cd1264677d47ff9a95a71f5d9f9c ] + +Make sure the socket for which the user is listing publication exists +before parsing the socket netlink attributes. + +Prior to this patch a call without any socket caused a NULL pointer +dereference in tipc_nl_publ_dump(). + +Upstream-Status: Backport +CVE: CVE-2016-4951 + +Tested-and-reported-by: Baozeng Ding +Signed-off-by: Richard Alpe +Acked-by: Jon Maloy +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +Signed-off-by: Sona Sarmadi +--- + net/tipc/socket.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/net/tipc/socket.c b/net/tipc/socket.c +index e53003c..9b713e0 100644 +--- a/net/tipc/socket.c ++++ b/net/tipc/socket.c +@@ -2814,6 +2814,9 @@ int tipc_nl_publ_dump(struct sk_buff *skb, struct netlink_callback *cb) + if (err) + return err; + ++ if (!attrs[TIPC_NLA_SOCK]) ++ return -EINVAL; ++ + err = nla_parse_nested(sock, TIPC_NLA_SOCK_MAX, + attrs[TIPC_NLA_SOCK], + tipc_nl_sock_policy); +-- +cgit v0.12 + diff --git a/recipes-kernel/linux/linux-yocto_4.%.bbappend b/recipes-kernel/linux/linux-yocto_4.%.bbappend index d0c4e98..cd0de11 100644 --- a/recipes-kernel/linux/linux-yocto_4.%.bbappend +++ b/recipes-kernel/linux/linux-yocto_4.%.bbappend @@ -5,6 +5,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:" SRC_URI += "file://hid-CVE-2016-5829.patch \ file://CVE-2016-5696-limiting-of-all-challenge.patch \ file://CVE-2016-5696-make-challenge-acks-less-predictable.patch \ + file://CVE-2016-4951.patch \ " ENEA_KERNEL_FRAGMENTS += "\ -- cgit v1.2.3-54-g00ecf