From 0124ee144fabf12f5e523d8e474736bf96708acf Mon Sep 17 00:00:00 2001 From: Richard Alpe Date: Mon, 16 May 2016 11:14:54 +0200 Subject: [PATCH] tipc: check nl sock before parsing nested attributes 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(). Tested-and-reported-by: Baozeng Ding Signed-off-by: Richard Alpe Acked-by: Jon Maloy Signed-off-by: David S. Miller (cherry picked from commit 45e093ae2830cd1264677d47ff9a95a71f5d9f9c) Orabug: 23347071 CVE: CVE-2016-4951 Signed-off-by: Manjunath Govindashetty --- net/tipc/socket.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/tipc/socket.c b/net/tipc/socket.c index f485600c4507..03f39064f6de 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -2803,6 +2803,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); -- 2.50.1