| 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-27001: comedi: vmk80xx: fix incomplete endpoint checking |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| comedi: vmk80xx: fix incomplete endpoint checking |
| |
| While vmk80xx does have endpoint checking implemented, some things |
| can fall through the cracks. Depending on the hardware model, |
| URBs can have either bulk or interrupt type, and current version |
| of vmk80xx_find_usb_endpoints() function does not take that fully |
| into account. While this warning does not seem to be too harmful, |
| at the very least it will crash systems with 'panic_on_warn' set on |
| them. |
| |
| Fix the issue found by Syzkaller [1] by somewhat simplifying the |
| endpoint checking process with usb_find_common_endpoints() and |
| ensuring that only expected endpoint types are present. |
| |
| This patch has not been tested on real hardware. |
| |
| [1] Syzkaller report: |
| usb 1-1: BOGUS urb xfer, pipe 1 != type 3 |
| WARNING: CPU: 0 PID: 781 at drivers/usb/core/urb.c:504 usb_submit_urb+0xc4e/0x18c0 drivers/usb/core/urb.c:503 |
| ... |
| Call Trace: |
| <TASK> |
| usb_start_wait_urb+0x113/0x520 drivers/usb/core/message.c:59 |
| vmk80xx_reset_device drivers/comedi/drivers/vmk80xx.c:227 [inline] |
| vmk80xx_auto_attach+0xa1c/0x1a40 drivers/comedi/drivers/vmk80xx.c:818 |
| comedi_auto_config+0x238/0x380 drivers/comedi/drivers.c:1067 |
| usb_probe_interface+0x5cd/0xb00 drivers/usb/core/driver.c:399 |
| ... |
| |
| Similar issue also found by Syzkaller: |
| |
| The Linux kernel CVE team has assigned CVE-2024-27001 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 3.9 with commit 49253d542cc0f5f771dc254d248162a2a666649d and fixed in 4.19.313 with commit 3a63ae0348d990e137cca04eced5b08379969ea9 |
| Issue introduced in 3.9 with commit 49253d542cc0f5f771dc254d248162a2a666649d and fixed in 5.4.275 with commit a3b8ae7e9297dd453f2977b011c5bc75eb20e71b |
| Issue introduced in 3.9 with commit 49253d542cc0f5f771dc254d248162a2a666649d and fixed in 5.10.216 with commit f15370e315976198f338b41611f37ce82af6cf54 |
| Issue introduced in 3.9 with commit 49253d542cc0f5f771dc254d248162a2a666649d and fixed in 5.15.157 with commit b0b268eeb087e324ef3ea71f8e6cabd07630517f |
| Issue introduced in 3.9 with commit 49253d542cc0f5f771dc254d248162a2a666649d and fixed in 6.1.88 with commit ac882d6b21bffecb57bcc4486701239eef5aa67b |
| Issue introduced in 3.9 with commit 49253d542cc0f5f771dc254d248162a2a666649d and fixed in 6.6.29 with commit 59f33af9796160f851641d960bd93937f282c696 |
| Issue introduced in 3.9 with commit 49253d542cc0f5f771dc254d248162a2a666649d and fixed in 6.8.8 with commit 6ec3514a7d35ad9cfab600187612c29f669069d2 |
| Issue introduced in 3.9 with commit 49253d542cc0f5f771dc254d248162a2a666649d and fixed in 6.9 with commit d1718530e3f640b7d5f0050e725216eab57a85d8 |
| |
| 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-27001 |
| 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/comedi/drivers/vmk80xx.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/3a63ae0348d990e137cca04eced5b08379969ea9 |
| https://git.kernel.org/stable/c/a3b8ae7e9297dd453f2977b011c5bc75eb20e71b |
| https://git.kernel.org/stable/c/f15370e315976198f338b41611f37ce82af6cf54 |
| https://git.kernel.org/stable/c/b0b268eeb087e324ef3ea71f8e6cabd07630517f |
| https://git.kernel.org/stable/c/ac882d6b21bffecb57bcc4486701239eef5aa67b |
| https://git.kernel.org/stable/c/59f33af9796160f851641d960bd93937f282c696 |
| https://git.kernel.org/stable/c/6ec3514a7d35ad9cfab600187612c29f669069d2 |
| https://git.kernel.org/stable/c/d1718530e3f640b7d5f0050e725216eab57a85d8 |