| 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-27043: media: edia: dvbdev: fix a use-after-free |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| media: edia: dvbdev: fix a use-after-free |
| |
| In dvb_register_device, *pdvbdev is set equal to dvbdev, which is freed |
| in several error-handling paths. However, *pdvbdev is not set to NULL |
| after dvbdev's deallocation, causing use-after-frees in many places, |
| for example, in the following call chain: |
| |
| budget_register |
| |-> dvb_dmxdev_init |
| |-> dvb_register_device |
| |-> dvb_dmxdev_release |
| |-> dvb_unregister_device |
| |-> dvb_remove_device |
| |-> dvb_device_put |
| |-> kref_put |
| |
| When calling dvb_unregister_device, dmxdev->dvbdev (i.e. *pdvbdev in |
| dvb_register_device) could point to memory that had been freed in |
| dvb_register_device. Thereafter, this pointer is transferred to |
| kref_put and triggering a use-after-free. |
| |
| The Linux kernel CVE team has assigned CVE-2024-27043 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 2.6.21 with commit b61901024776b25ce7b8edc31bb1757c7382a88e and fixed in 4.19.311 with commit d0f5c28333822f9baa5280d813124920720fd856 |
| Issue introduced in 2.6.21 with commit b61901024776b25ce7b8edc31bb1757c7382a88e and fixed in 5.4.273 with commit f20c3270f3ed5aa6919a87e4de9bf6c05fb57086 |
| Issue introduced in 2.6.21 with commit b61901024776b25ce7b8edc31bb1757c7382a88e and fixed in 5.10.214 with commit 096237039d00c839f3e3a5fe6d001bf0db45b644 |
| Issue introduced in 2.6.21 with commit b61901024776b25ce7b8edc31bb1757c7382a88e and fixed in 5.15.153 with commit 0d3fe80b6d175c220b3e252efc6c6777e700e98e |
| Issue introduced in 2.6.21 with commit b61901024776b25ce7b8edc31bb1757c7382a88e and fixed in 6.1.83 with commit 437a111f79a2f5b2a5f21e27fdec6f40c8768712 |
| Issue introduced in 2.6.21 with commit b61901024776b25ce7b8edc31bb1757c7382a88e and fixed in 6.6.23 with commit 779e8db7efb22316c8581d6c229636d2f5694a62 |
| Issue introduced in 2.6.21 with commit b61901024776b25ce7b8edc31bb1757c7382a88e and fixed in 6.7.11 with commit 35674111a043b0482a9bc69da8850a83f465b07d |
| Issue introduced in 2.6.21 with commit b61901024776b25ce7b8edc31bb1757c7382a88e and fixed in 6.8.2 with commit b7586e902128e4fb7bfbb661cb52e4215a65637b |
| Issue introduced in 2.6.21 with commit b61901024776b25ce7b8edc31bb1757c7382a88e and fixed in 6.9 with commit 8c64f4cdf4e6cc5682c52523713af8c39c94e6d5 |
| |
| 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-27043 |
| 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/dvb-core/dvbdev.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/d0f5c28333822f9baa5280d813124920720fd856 |
| https://git.kernel.org/stable/c/f20c3270f3ed5aa6919a87e4de9bf6c05fb57086 |
| https://git.kernel.org/stable/c/096237039d00c839f3e3a5fe6d001bf0db45b644 |
| https://git.kernel.org/stable/c/0d3fe80b6d175c220b3e252efc6c6777e700e98e |
| https://git.kernel.org/stable/c/437a111f79a2f5b2a5f21e27fdec6f40c8768712 |
| https://git.kernel.org/stable/c/779e8db7efb22316c8581d6c229636d2f5694a62 |
| https://git.kernel.org/stable/c/35674111a043b0482a9bc69da8850a83f465b07d |
| https://git.kernel.org/stable/c/b7586e902128e4fb7bfbb661cb52e4215a65637b |
| https://git.kernel.org/stable/c/8c64f4cdf4e6cc5682c52523713af8c39c94e6d5 |