]> git.hungrycats.org Git - linux/commitdiff
[PATCH] Restrict socket policy loading to CAP_NET_ADMIN - CAN-2005-2555
authorHerbert Xu <herbert@gondor.apana.org.au>
Sat, 6 Aug 2005 20:33:15 +0000 (13:33 -0700)
committerChris Wright <chrisw@osdl.org>
Mon, 29 Aug 2005 16:55:11 +0000 (09:55 -0700)
The interface needs much redesigning if we wish to allow
normal users to do this in some way.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Chris Wright <chrisw@osdl.org>
net/ipv4/ip_sockglue.c
net/ipv6/ipv6_sockglue.c

index 47012b93cad2e58c5b28dbdcb899e68006085e79..370e98ae81ee9fed4988ef9e85cceb840cbbc404 100644 (file)
@@ -848,6 +848,9 @@ mc_msf_out:
  
                case IP_IPSEC_POLICY:
                case IP_XFRM_POLICY:
+                       err = -EPERM;
+                       if (!capable(CAP_NET_ADMIN))
+                               break;
                        err = xfrm_user_policy(sk, optname, optval, optlen);
                        break;
 
index 279ab86be662000d7a4fbc04aac630a5af15e5a7..855051ad1498ba4df0e29bcc0e1bdf685738d44b 100644 (file)
@@ -503,6 +503,9 @@ done:
                break;
        case IPV6_IPSEC_POLICY:
        case IPV6_XFRM_POLICY:
+               retv = -EPERM;
+               if (!capable(CAP_NET_ADMIN))
+                       break;
                retv = xfrm_user_policy(sk, optname, optval, optlen);
                break;