Skip to content

Commit

Permalink
netfilter: ebtables: enforce CAP_NET_ADMIN
Browse files Browse the repository at this point in the history
normal users are currently allowed to set/modify ebtables rules.
Restrict it to processes with CAP_NET_ADMIN.

Note that this cannot be reproduced with unmodified ebtables binary
because it uses SOCK_RAW.

Signed-off-by: Florian Westphal <fwestphal@astaro.com>
Cc: stable@kernel.org
Signed-off-by: Patrick McHardy <kaber@trash.net>
  • Loading branch information
Florian Westphal authored and Patrick McHardy committed Jan 8, 2010
1 parent aaff23a commit dce766a
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions net/bridge/netfilter/ebtables.c
Original file line number Diff line number Diff line change
Expand Up @@ -1406,6 +1406,9 @@ static int do_ebt_set_ctl(struct sock *sk,
{
int ret;

if (!capable(CAP_NET_ADMIN))
return -EPERM;

switch(cmd) {
case EBT_SO_SET_ENTRIES:
ret = do_replace(sock_net(sk), user, len);
Expand All @@ -1425,6 +1428,9 @@ static int do_ebt_get_ctl(struct sock *sk, int cmd, void __user *user, int *len)
struct ebt_replace tmp;
struct ebt_table *t;

if (!capable(CAP_NET_ADMIN))
return -EPERM;

if (copy_from_user(&tmp, user, sizeof(tmp)))
return -EFAULT;

Expand Down

0 comments on commit dce766a

Please sign in to comment.