Subject: CVE-2024-38381: nfc: nci: Fix uninit-value in nci_rx_work

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

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

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

nfc: nci: Fix uninit-value in nci_rx_work

syzbot reported the following uninit-value access issue [1]

nci_rx_work() parses received packet from ndev->rx_q. It should be
validated header size, payload size and total packet size before
processing the packet. If an invalid packet is detected, it should be
silently discarded.

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

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

	Issue introduced in 4.19.312 with commit 11387b2effbb and fixed in 4.19.316 with commit 406cfac9debd
	Issue introduced in 5.4.274 with commit 03fe259649a5 and fixed in 5.4.278 with commit 485ded868ed6
	Issue introduced in 5.10.215 with commit 755e53bbc61b and fixed in 5.10.219 with commit f80b786ab055
	Issue introduced in 5.15.154 with commit ac68d9fa09e4 and fixed in 5.15.161 with commit ad4d196d2008
	Issue introduced in 6.1.85 with commit b51ec7fc9f87 and fixed in 6.1.93 with commit e8c8e0d0d214
	Issue introduced in 6.6.26 with commit a946ebee45b0 and fixed in 6.6.33 with commit e53a7f8afcbd
	Issue introduced in 6.9 with commit d24b03535e5e and fixed in 6.9.4 with commit 017ff3976249
	Issue introduced in 6.9 with commit d24b03535e5e and fixed in 6.10 with commit e4a87abf5885
	Issue introduced in 6.8.5 with commit 8948e30de81f

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-38381
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/nfc/nci/core.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/406cfac9debd4a6d3dc5d9258ee086372a8c08b6
	https://git.kernel.org/stable/c/485ded868ed62ceb2acb3a459d7843fd71472619
	https://git.kernel.org/stable/c/f80b786ab0550d0020191a59077b2c7e069db2d1
	https://git.kernel.org/stable/c/ad4d196d2008c7f413167f0a693feb4f0439d7fe
	https://git.kernel.org/stable/c/e8c8e0d0d214c877fbad555df5b3ed558cd9b0c3
	https://git.kernel.org/stable/c/e53a7f8afcbd2886f2a94c5d56757328109730ea
	https://git.kernel.org/stable/c/017ff397624930fd7ac7f1761f3c9d6a7100f68c
	https://git.kernel.org/stable/c/e4a87abf588536d1cdfb128595e6e680af5cf3ed