Subject: CVE-2024-27401: firewire: nosy: ensure user_length is taken into account when fetching packet contents

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

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

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

firewire: nosy: ensure user_length is taken into account when fetching packet contents

Ensure that packet_buffer_get respects the user_length provided. If
the length of the head packet exceeds the user_length, packet_buffer_get
will now return 0 to signify to the user that no data were read
and a larger buffer size is required. Helps prevent user space overflows.

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

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

	Fixed in 4.19.314 with commit 67f34f093c0f
	Fixed in 5.4.276 with commit 7b8c7bd2296e
	Fixed in 5.10.217 with commit cca330c59c54
	Fixed in 5.15.159 with commit 79f988d3ffc1
	Fixed in 6.1.91 with commit 4ee0941da10e
	Fixed in 6.6.31 with commit 1fe60ee70943
	Fixed in 6.8.10 with commit 539d51ac48bc
	Fixed in 6.9 with commit 38762a0763c1

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-27401
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:
	drivers/firewire/nosy.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/67f34f093c0f7bf33f5b4ae64d3d695a3b978285
	https://git.kernel.org/stable/c/7b8c7bd2296e95b38a6ff346242356a2e7190239
	https://git.kernel.org/stable/c/cca330c59c54207567a648357835f59df9a286bb
	https://git.kernel.org/stable/c/79f988d3ffc1aa778fc5181bdfab312e57956c6b
	https://git.kernel.org/stable/c/4ee0941da10e8fdcdb34756b877efd3282594c1f
	https://git.kernel.org/stable/c/1fe60ee709436550f8cfbab01295936b868d5baa
	https://git.kernel.org/stable/c/539d51ac48bcfcfa1b3d4a85f8df92fa22c1d41c
	https://git.kernel.org/stable/c/38762a0763c10c24a4915feee722d7aa6e73eb98