From b8a15d59a9b26a734f6d8d5f10376f336f7d021b Mon Sep 17 00:00:00 2001 From: Ori Nimron Date: Fri, 20 Sep 2019 09:35:48 +0200 Subject: [PATCH] ieee802154: enforce CAP_NET_RAW for raw sockets commit e69dbd4619e7674c1679cba49afd9dd9ac347eef upstream. When creating a raw AF_IEEE802154 socket, CAP_NET_RAW needs to be checked first. Signed-off-by: Ori Nimron Signed-off-by: Greg Kroah-Hartman Acked-by: Stefan Schmidt Signed-off-by: David S. Miller [bwh: Backported to 3.16: adjust filename] Signed-off-by: Ben Hutchings --- net/ieee802154/af_ieee802154.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/ieee802154/af_ieee802154.c b/net/ieee802154/af_ieee802154.c index 351d9a94ec2fa..bc262a3f46ba5 100644 --- a/net/ieee802154/af_ieee802154.c +++ b/net/ieee802154/af_ieee802154.c @@ -255,6 +255,9 @@ static int ieee802154_create(struct net *net, struct socket *sock, switch (sock->type) { case SOCK_RAW: + rc = -EPERM; + if (!capable(CAP_NET_RAW)) + goto out; proto = &ieee802154_raw_prot; ops = &ieee802154_raw_ops; break;