blob: 86d52bc0b092dae410c4ca0101d68a75c6776ce3 [file] [log] [blame]
From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: <linux-cve-announce@vger.kernel.org>
Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org>
Subject: CVE-2024-58002: media: uvcvideo: Remove dangling pointers
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
media: uvcvideo: Remove dangling pointers
When an async control is written, we copy a pointer to the file handle
that started the operation. That pointer will be used when the device is
done. Which could be anytime in the future.
If the user closes that file descriptor, its structure will be freed,
and there will be one dangling pointer per pending async control, that
the driver will try to use.
Clean all the dangling pointers during release().
To avoid adding a performance penalty in the most common case (no async
operation), a counter has been introduced with some logic to make sure
that it is properly handled.
The Linux kernel CVE team has assigned CVE-2024-58002 to this issue.
Affected and fixed versions
===========================
Issue introduced in 4.19 with commit e5225c820c057537dc780244760e2e24c7d27366 and fixed in 5.4.291 with commit 2a29413ace64627e178fd422dd8a5d95219a2c0b
Issue introduced in 4.19 with commit e5225c820c057537dc780244760e2e24c7d27366 and fixed in 5.10.235 with commit 653993f46861f2971e95e9a0e36a34b49dec542c
Issue introduced in 4.19 with commit e5225c820c057537dc780244760e2e24c7d27366 and fixed in 5.15.179 with commit 117f7a2975baa4b7d702d3f4830d5a4ebd0c6d50
Issue introduced in 4.19 with commit e5225c820c057537dc780244760e2e24c7d27366 and fixed in 6.1.130 with commit ac18d781466252cd35a3e311e0a4b264260fd927
Issue introduced in 4.19 with commit e5225c820c057537dc780244760e2e24c7d27366 and fixed in 6.6.80 with commit 4dbaa738c583a0e947803c69e8996e88cf98d971
Issue introduced in 4.19 with commit e5225c820c057537dc780244760e2e24c7d27366 and fixed in 6.12.14 with commit 438bda062b2c40ddd7df23b932e29ffe0a448cac
Issue introduced in 4.19 with commit e5225c820c057537dc780244760e2e24c7d27366 and fixed in 6.13.3 with commit 9edc7d25f7e49c33a1ce7a5ffadea2222065516c
Issue introduced in 4.19 with commit e5225c820c057537dc780244760e2e24c7d27366 and fixed in 6.14 with commit 221cd51efe4565501a3dbf04cc011b537dcce7fb
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-58002
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/media/usb/uvc/uvc_ctrl.c
drivers/media/usb/uvc/uvc_v4l2.c
drivers/media/usb/uvc/uvcvideo.h
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/2a29413ace64627e178fd422dd8a5d95219a2c0b
https://git.kernel.org/stable/c/653993f46861f2971e95e9a0e36a34b49dec542c
https://git.kernel.org/stable/c/117f7a2975baa4b7d702d3f4830d5a4ebd0c6d50
https://git.kernel.org/stable/c/ac18d781466252cd35a3e311e0a4b264260fd927
https://git.kernel.org/stable/c/4dbaa738c583a0e947803c69e8996e88cf98d971
https://git.kernel.org/stable/c/438bda062b2c40ddd7df23b932e29ffe0a448cac
https://git.kernel.org/stable/c/9edc7d25f7e49c33a1ce7a5ffadea2222065516c
https://git.kernel.org/stable/c/221cd51efe4565501a3dbf04cc011b537dcce7fb