mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-03 23:37:40 -04:00
netfilter: x_tables: ensure names are nul-terminated
Reject names that lack a \0 character before feeding them
to functions that expect c-strings.
Fixes tag is the most recent commit that needs this change.
Fixes: c38c4597e4 ("netfilter: implement xt_cgroup cgroup2 path match")
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
committed by
Pablo Neira Ayuso
parent
6d52a4a052
commit
a958a4f90d
@@ -65,6 +65,9 @@ static int cgroup_mt_check_v1(const struct xt_mtchk_param *par)
|
||||
|
||||
info->priv = NULL;
|
||||
if (info->has_path) {
|
||||
if (strnlen(info->path, sizeof(info->path)) >= sizeof(info->path))
|
||||
return -ENAMETOOLONG;
|
||||
|
||||
cgrp = cgroup_get_from_path(info->path);
|
||||
if (IS_ERR(cgrp)) {
|
||||
pr_info_ratelimited("invalid path, errno=%ld\n",
|
||||
@@ -102,6 +105,9 @@ static int cgroup_mt_check_v2(const struct xt_mtchk_param *par)
|
||||
|
||||
info->priv = NULL;
|
||||
if (info->has_path) {
|
||||
if (strnlen(info->path, sizeof(info->path)) >= sizeof(info->path))
|
||||
return -ENAMETOOLONG;
|
||||
|
||||
cgrp = cgroup_get_from_path(info->path);
|
||||
if (IS_ERR(cgrp)) {
|
||||
pr_info_ratelimited("invalid path, errno=%ld\n",
|
||||
|
||||
@@ -91,6 +91,11 @@ static int xt_rateest_mt_checkentry(const struct xt_mtchk_param *par)
|
||||
goto err1;
|
||||
}
|
||||
|
||||
if (strnlen(info->name1, sizeof(info->name1)) >= sizeof(info->name1))
|
||||
return -ENAMETOOLONG;
|
||||
if (strnlen(info->name2, sizeof(info->name2)) >= sizeof(info->name2))
|
||||
return -ENAMETOOLONG;
|
||||
|
||||
ret = -ENOENT;
|
||||
est1 = xt_rateest_lookup(par->net, info->name1);
|
||||
if (!est1)
|
||||
|
||||
Reference in New Issue
Block a user