[5/5] netfilter: nf_tables: Check u32 load in u8 nft_nat attribute
diff mbox

Message ID 2fb83448cb34c7ee8ede6b95ade5601cec392371.1470842571.git.nevola@gmail.com
State Changes Requested
Delegated to: Pablo Neira
Headers show

Commit Message

Laura Garcia Aug. 10, 2016, 3:32 p.m. UTC
Fix the direct assignment from u32 data input into the family
attribute with a size of u8.

Signed-off-by: Laura Garcia Liebana <nevola@gmail.com>
 net/netfilter/nft_nat.c | 2 ++
 1 file changed, 2 insertions(+)

diff mbox

diff --git a/net/netfilter/nft_nat.c b/net/netfilter/nft_nat.c
index ee2d717..74f8293 100644
--- a/net/netfilter/nft_nat.c
+++ b/net/netfilter/nft_nat.c
@@ -148,6 +148,8 @@  static int nft_nat_init(const struct nft_ctx *ctx, const struct nft_expr *expr,
 	family = ntohl(nla_get_be32(tb[NFTA_NAT_FAMILY]));
 	if (family != ctx->afi->family)
 		return -EOPNOTSUPP;
+	if (family > U8_MAX)
+		return -EINVAL;
 	switch (family) {
 	case NFPROTO_IPV4: