Преглед на файлове

[IPSEC]: Restrict socket policy loading to CAP_NET_ADMIN.

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>
Herbert Xu преди 20 години
родител
ревизия
6fc0b4a7a7
променени са 2 файла, в които са добавени 6 реда и са изтрити 0 реда
  1. 3 0
      net/ipv4/ip_sockglue.c
  2. 3 0
      net/ipv6/ipv6_sockglue.c

+ 3 - 0
net/ipv4/ip_sockglue.c

@@ -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;
 

+ 3 - 0
net/ipv6/ipv6_sockglue.c

@@ -504,6 +504,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;