netfilter: ebtables: fix table blob use-after-free
In the Linux kernel, the following vulnerability has been resolved: netfilter: ebtables: fix table blob use-after-free We are not allowed to return an error at this point. Looking at the code it looks like ret is always 0 at this point, but its not. t = find_table_lock(net, repl->name, &ret, &ebt_mutex); ... this can return a valid table, with ret != 0. This bug causes update of table->private with the new blob, but then frees the blob right away in the caller. Syzbot report: BUG: KASAN: vmalloc-out-of-bounds in __ebt_unregister_table+0xc00/0xcd0 net/bridge/netfilter/ebtables.c:1168 Read of size 4 at addr ffffc90005425000 by task kworker/u4:4/74 Workqueue: netns cleanup_net Call Trace: kasan_report+0xbf/0x1f0 mm/kasan/report.c:517 __ebt_unregister_table+0xc00/0xcd0 net/bridge/netfilter/ebtables.c:1168 ebt_unregister_table+0x35/0x40 net/bridge/netfilter/ebtables.c:1372 ops_exit_list+0xb0/0x170 net/core/net_namespace.c:169 cleanup_net+0x4ee/0xb10 net/core/net_namespace.c:613 ... ip(6)tables appears to be ok (ret should be 0 at this point) but make this more obvious.
CVE-2023-54243
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2023-54243
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "c58dd2dd443c26d856a168db108a0cd11c285bf3",
"lessThan": "9060abce3305ab2354c892c09d5689df51486df5",
"versionType": "git"
},
{
"status": "affected",
"version": "c58dd2dd443c26d856a168db108a0cd11c285bf3",
"lessThan": "dbb3cbbf03b3c52cb390fabec357f1e4638004f5",
"versionType": "git"
},
{
"status": "affected",
"version": "c58dd2dd443c26d856a168db108a0cd11c285bf3",
"lessThan": "3dd6ac973351308d4117eda32298a9f1d68764fd",
"versionType": "git"
},
{
"status": "affected",
"version": "c58dd2dd443c26d856a168db108a0cd11c285bf3",
"lessThan": "cda0e0243bd3c04008fcd37a46b0269fb3c49249",
"versionType": "git"
},
{
"status": "affected",
"version": "c58dd2dd443c26d856a168db108a0cd11c285bf3",
"lessThan": "e58a171d35e32e6e8c37cfe0e8a94406732a331f",
"versionType": "git"
},
{
"status": "affected",
"version": "a3bc0f8ea439762aa62d40a295157410498cbea7",
"versionType": "git"
},
{
"status": "affected",
"version": "8ed40c122919cd79bc3c059e5864e5e7d9d455f0",
"versionType": "git"
},
{
"status": "affected",
"version": "c5e4ef499cfc78de45a4f01b8c557b5964d77c53",
"versionType": "git"
},
{
"status": "affected",
"version": "f34728610b2a8c7b9864f9404f2884c17f6fca5c",
"versionType": "git"
},
{
"status": "affected",
"version": "8b5740915a9faa8b1fa9166193a33e2a9ae30ec6",
"versionType": "git"
},
{
"status": "affected",
"version": "3.2.60",
"lessThan": "3.3",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.4.91",
"lessThan": "3.5",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.10.41",
"lessThan": "3.11",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.12.21",
"lessThan": "3.13",
"versionType": "semver"
},
{
"status": "affected",
"version": "3.14.5",
"lessThan": "3.15",
"versionType": "semver"
}
],
"programFiles": [
"net/bridge/netfilter/ebtables.c",
"net/ipv4/netfilter/ip_tables.c",
"net/ipv6/netfilter/ip6_tables.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "3.15"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "3.15",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.173",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.100",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.18",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.2.5",
"versionType": "semver",
"lessThanOrEqual": "6.2.*"
},
{
"status": "unaffected",
"version": "6.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/bridge/netfilter/ebtables.c",
"net/ipv4/netfilter/ip_tables.c",
"net/ipv6/netfilter/ip6_tables.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2023-54243
Source reference:
/cveMetadata/cveId
Publisher severity
high
Source reference: /containers/cna/metrics
- Event
- #30369 · Revision 1
- Added to Heist Feed
- Publisher date