| 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-2023-52847: media: bttv: fix use after free error due to btv->timeout timer |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| media: bttv: fix use after free error due to btv->timeout timer |
| |
| There may be some a race condition between timer function |
| bttv_irq_timeout and bttv_remove. The timer is setup in |
| probe and there is no timer_delete operation in remove |
| function. When it hit kfree btv, the function might still be |
| invoked, which will cause use after free bug. |
| |
| This bug is found by static analysis, it may be false positive. |
| |
| Fix it by adding del_timer_sync invoking to the remove function. |
| |
| cpu0 cpu1 |
| bttv_probe |
| ->timer_setup |
| ->bttv_set_dma |
| ->mod_timer; |
| bttv_remove |
| ->kfree(btv); |
| ->bttv_irq_timeout |
| ->USE btv |
| |
| The Linux kernel CVE team has assigned CVE-2023-52847 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 4.15 with commit 162e6376ac58440beb6a2d2ee294f5d88ea58dd1 and fixed in 4.19.299 with commit bbc3b8dd2cb7817e703f112d988e4f4728f0f2a9 |
| Issue introduced in 4.15 with commit 162e6376ac58440beb6a2d2ee294f5d88ea58dd1 and fixed in 5.4.261 with commit b35fdade92c5058a5e727e233fe263b828de2c9a |
| Issue introduced in 4.15 with commit 162e6376ac58440beb6a2d2ee294f5d88ea58dd1 and fixed in 5.10.201 with commit 2f3d9198cdae1cb079ec8652f4defacd481eab2b |
| Issue introduced in 4.15 with commit 162e6376ac58440beb6a2d2ee294f5d88ea58dd1 and fixed in 5.15.139 with commit 51c94256a83fe4e17406c66ff3e1ad7d242d8574 |
| Issue introduced in 4.15 with commit 162e6376ac58440beb6a2d2ee294f5d88ea58dd1 and fixed in 6.1.63 with commit 20568d06f6069cb835e05eed432edf962645d226 |
| Issue introduced in 4.15 with commit 162e6376ac58440beb6a2d2ee294f5d88ea58dd1 and fixed in 6.5.12 with commit 1871014d6ef4812ad11ef7d838d73ce09d632267 |
| Issue introduced in 4.15 with commit 162e6376ac58440beb6a2d2ee294f5d88ea58dd1 and fixed in 6.6.2 with commit 847599fffa528b2cdec4e21b6bf7586dad982132 |
| Issue introduced in 4.15 with commit 162e6376ac58440beb6a2d2ee294f5d88ea58dd1 and fixed in 6.7 with commit bd5b50b329e850d467e7bcc07b2b6bde3752fbda |
| |
| 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-2023-52847 |
| 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/pci/bt8xx/bttv-driver.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/bbc3b8dd2cb7817e703f112d988e4f4728f0f2a9 |
| https://git.kernel.org/stable/c/b35fdade92c5058a5e727e233fe263b828de2c9a |
| https://git.kernel.org/stable/c/2f3d9198cdae1cb079ec8652f4defacd481eab2b |
| https://git.kernel.org/stable/c/51c94256a83fe4e17406c66ff3e1ad7d242d8574 |
| https://git.kernel.org/stable/c/20568d06f6069cb835e05eed432edf962645d226 |
| https://git.kernel.org/stable/c/1871014d6ef4812ad11ef7d838d73ce09d632267 |
| https://git.kernel.org/stable/c/847599fffa528b2cdec4e21b6bf7586dad982132 |
| https://git.kernel.org/stable/c/bd5b50b329e850d467e7bcc07b2b6bde3752fbda |