Subject: CVE-2024-44983: netfilter: flowtable: validate vlan header

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

netfilter: flowtable: validate vlan header

Ensure there is sufficient room to access the protocol field of the
VLAN header, validate it once before the flowtable lookup.

=====================================================
BUG: KMSAN: uninit-value in nf_flow_offload_inet_hook+0x45a/0x5f0 net/netfilter/nf_flow_table_inet.c:32
 nf_flow_offload_inet_hook+0x45a/0x5f0 net/netfilter/nf_flow_table_inet.c:32
 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]
 nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626
 nf_hook_ingress include/linux/netfilter_netdev.h:34 [inline]
 nf_ingress net/core/dev.c:5440 [inline]

The Linux kernel CVE team has assigned CVE-2024-44983 to this issue.

Affected and fixed versions
===========================

	Issue introduced in 5.13 with commit 4cd91f7c290f and fixed in 5.15.166 with commit c05155cc4557
	Issue introduced in 5.13 with commit 4cd91f7c290f and fixed in 6.1.107 with commit d9384ae7aec4
	Issue introduced in 5.13 with commit 4cd91f7c290f and fixed in 6.6.48 with commit 0279c35d242d
	Issue introduced in 5.13 with commit 4cd91f7c290f and fixed in 6.10.7 with commit 043a18bb6cf1
	Issue introduced in 5.13 with commit 4cd91f7c290f and fixed in 6.11 with commit 6ea14ccb60c8

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2024-44983
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	net/netfilter/nf_flow_table_inet.c
	net/netfilter/nf_flow_table_ip.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/c05155cc455785916164aa5e1b4605a2ae946537
	https://git.kernel.org/stable/c/d9384ae7aec46036d248d1c2c2757e471ab486c3
	https://git.kernel.org/stable/c/0279c35d242d037abeb73d60d06a6d1bb7f672d9
	https://git.kernel.org/stable/c/043a18bb6cf16adaa2f8642acfde6e8956a9caaa
	https://git.kernel.org/stable/c/6ea14ccb60c8ab829349979b22b58a941ec4a3ee