CVE-2024-50038
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
21/10/2024
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
netfilter: xtables: avoid NFPROTO_UNSPEC where needed<br />
<br />
syzbot managed to call xt_cluster match via ebtables:<br />
<br />
WARNING: CPU: 0 PID: 11 at net/netfilter/xt_cluster.c:72 xt_cluster_mt+0x196/0x780<br />
[..]<br />
ebt_do_table+0x174b/0x2a40<br />
<br />
Module registers to NFPROTO_UNSPEC, but it assumes ipv4/ipv6 packet<br />
processing. As this is only useful to restrict locally terminating<br />
TCP/UDP traffic, register this for ipv4 and ipv6 family only.<br />
<br />
Pablo points out that this is a general issue, direct users of the<br />
set/getsockopt interface can call into targets/matches that were only<br />
intended for use with ip(6)tables.<br />
<br />
Check all UNSPEC matches and targets for similar issues:<br />
<br />
- matches and targets are fine except if they assume skb_network_header()<br />
is valid -- this is only true when called from inet layer: ip(6) stack<br />
pulls the ip/ipv6 header into linear data area.<br />
- targets that return XT_CONTINUE or other xtables verdicts must be<br />
restricted too, they are incompatbile with the ebtables traverser, e.g.<br />
EBT_CONTINUE is a completely different value than XT_CONTINUE.<br />
<br />
Most matches/targets are changed to register for NFPROTO_IPV4/IPV6, as<br />
they are provided for use by ip(6)tables.<br />
<br />
The MARK target is also used by arptables, so register for NFPROTO_ARP too.<br />
<br />
While at it, bail out if connbytes fails to enable the corresponding<br />
conntrack family.<br />
<br />
This change passes the selftests in iptables.git.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.30 (including) | 5.15.168 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.113 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.57 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.11.4 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/0bfcb7b71e735560077a42847f69597ec7dcc326
- https://git.kernel.org/stable/c/4cdc55ec6222bb195995cc58f7cb46e4d8907056
- https://git.kernel.org/stable/c/85ff9a0f793ca52c527e75cd40a69c948627ebde
- https://git.kernel.org/stable/c/8f482bb7e27b37f1f734bb9a8eeb28b23d59d189
- https://git.kernel.org/stable/c/997f67d813ce0cf5eb3cdb8f124da68141e91b6c
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html



