In the Linux kernel, the following vulnerability has been resolved:
netfilter: complete validation of user input
In my recent commit, I missed that do_replace() handlers
use copy_from_sockptr() (which I fixed), followed
by unsafe copy_from_sockptr_offset() calls.
In all functions, we can perform the @optlen validation
before even calling xt_alloc_table_info() with the following
check:
if ((u64)optlen < (u64)tmp.size + sizeof(tmp))
return -EINVAL;
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"net/ipv4/netfilter/arp_tables.c",
"net/ipv4/netfilter/ip_tables.c",
"net/ipv6/netfilter/ip6_tables.c"
],
"versions": [
{
"version": "0f038242b77d",
"lessThan": "cf4bc359b761",
"status": "affected",
"versionType": "git"
},
{
"version": "440e948cf0ef",
"lessThan": "97dab36e57c6",
"status": "affected",
"versionType": "git"
},
{
"version": "18aae2cb87e5",
"lessThan": "c760089aa982",
"status": "affected",
"versionType": "git"
},
{
"version": "81d51b9b7c95",
"lessThan": "89242d9584c3",
"status": "affected",
"versionType": "git"
},
{
"version": "58f2bfb789e6",
"lessThan": "562b7245131f",
"status": "affected",
"versionType": "git"
},
{
"version": "0c83842df40f",
"lessThan": "65acf6e0501a",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"net/ipv4/netfilter/arp_tables.c",
"net/ipv4/netfilter/ip_tables.c",
"net/ipv6/netfilter/ip6_tables.c"
],
"versions": [
{
"version": "5.10.215",
"lessThan": "5.10.216",
"status": "affected",
"versionType": "custom"
},
{
"version": "5.15.154",
"lessThan": "5.15.156",
"status": "affected",
"versionType": "custom"
},
{
"version": "6.1.85",
"lessThan": "6.1.87",
"status": "affected",
"versionType": "custom"
},
{
"version": "6.6.26",
"lessThan": "6.6.28",
"status": "affected",
"versionType": "custom"
},
{
"version": "6.8.5",
"lessThan": "6.8.7",
"status": "affected",
"versionType": "custom"
}
]
}
]
git.kernel.org/stable/c/562b7245131f6e9f1d280c8b5a8750f03edfc05c
git.kernel.org/stable/c/65acf6e0501ac8880a4f73980d01b5d27648b956
git.kernel.org/stable/c/89242d9584c342cb83311b598d9e6b82572eadf8
git.kernel.org/stable/c/97dab36e57c64106e1c8ebd66cbf0d2d1e52d6b7
git.kernel.org/stable/c/c760089aa98289b4b88a7ff5a62dd92845adf223
git.kernel.org/stable/c/cf4bc359b76144a3dd55d7c09464ef4c5f2b2b05
lists.debian.org/debian-lts-announce/2024/06/msg00017.html