Subject: CVE-2024-42154: tcp_metrics: validate source addr length

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

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

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

tcp_metrics: validate source addr length

I don't see anything checking that TCP_METRICS_ATTR_SADDR_IPV4
is at least 4 bytes long, and the policy doesn't have an entry
for this attribute at all (neither does it for IPv6 but v6 is
manually validated).

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

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

	Issue introduced in 3.14 with commit 3e7013ddf55a and fixed in 4.19.318 with commit 19d997b59fa1
	Issue introduced in 3.14 with commit 3e7013ddf55a and fixed in 5.4.280 with commit 2a2e79dbe223
	Issue introduced in 3.14 with commit 3e7013ddf55a and fixed in 5.10.222 with commit cdffc358717e
	Issue introduced in 3.14 with commit 3e7013ddf55a and fixed in 5.15.163 with commit ef7c428b425b
	Issue introduced in 3.14 with commit 3e7013ddf55a and fixed in 6.1.98 with commit 31f03bb04146
	Issue introduced in 3.14 with commit 3e7013ddf55a and fixed in 6.6.39 with commit 8c2debdd170e
	Issue introduced in 3.14 with commit 3e7013ddf55a and fixed in 6.9.9 with commit 3d550dd54187
	Issue introduced in 3.14 with commit 3e7013ddf55a and fixed in 6.10 with commit 66be40e622e1

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-42154
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/ipv4/tcp_metrics.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/19d997b59fa1fd7a02e770ee0881c0652b9c32c9
	https://git.kernel.org/stable/c/2a2e79dbe2236a1289412d2044994f7ab419b44c
	https://git.kernel.org/stable/c/cdffc358717e436bb67122bb82c1a2a26e050f98
	https://git.kernel.org/stable/c/ef7c428b425beeb52b894e16f1c4b629d6cebfb6
	https://git.kernel.org/stable/c/31f03bb04146c1c6df6c03e9f45401f5f5a985d3
	https://git.kernel.org/stable/c/8c2debdd170e395934ac0e039748576dfde14e99
	https://git.kernel.org/stable/c/3d550dd5418729a6e77fe7721d27adea7152e321
	https://git.kernel.org/stable/c/66be40e622e177316ae81717aa30057ba9e61dff