Description
In the Linux kernel, the following vulnerability has been resolved: usb: usbtmc: Fix bug in pipe direction for control transfers The syzbot fuzzer reported a minor bug in the usbtmc driver: usb 5-1: BOGUS control dir, pipe 80001e80 doesn't match bRequestType 0 WARNING: CPU: 0 PID: 3813 at drivers/usb/core/urb.c:412 usb_submit_urb+0x13a5/0x1970 drivers/usb/core/urb.c:410 Modules linked in: CPU: 0 PID: 3813 Comm: syz-executor122 Not tainted 5.17.0-rc5-syzkaller-00306-g2293be58d6a1 #0 ... Call Trace: <TASK> usb_start_wait_urb+0x113/0x530 drivers/usb/core/message.c:58 usb_internal_control_msg drivers/usb/core/message.c:102 [inline] usb_control_msg+0x2a5/0x4b0 drivers/usb/core/message.c:153 usbtmc_ioctl_request drivers/usb/class/usbtmc.c:1947 [inline] The problem is that usbtmc_ioctl_request() uses usb_rcvctrlpipe() for all of its transfers, whether they are in or out. It's easy to fix.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
658f24f4523e41cda6a389c38b763f4c0cad6fbc to < 700a0715854c1e79a73341724ce4f5bb01abc016affected658f24f4523e41cda6a389c38b763f4c0cad6fbc to < 10a805334a11acd547602d6c4cf540a0f6ab5c6eaffected658f24f4523e41cda6a389c38b763f4c0cad6fbc to < c69aef9db878ab277068a8cc1b4bf0cf309dc2b7affected658f24f4523e41cda6a389c38b763f4c0cad6fbc to < 5f6a2d63c68c12cf61259df7c3527a0e05dce952affected658f24f4523e41cda6a389c38b763f4c0cad6fbc to < e9b667a82cdcfe21d590344447d65daed52b353baffected
Linux Linux
Default version status: affected
4.20affected0 to < 4.20unaffected5.4.187 to ≤ 5.4.*unaffected5.10.108 to ≤ 5.10.*unaffected5.15.31 to ≤ 5.15.*unaffected5.16.17 to ≤ 5.16.*unaffected5.17 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/700a0715854c1e79a73341724ce4f5bb01abc016 ↗
- https://git.kernel.org/stable/c/10a805334a11acd547602d6c4cf540a0f6ab5c6e ↗
- https://git.kernel.org/stable/c/c69aef9db878ab277068a8cc1b4bf0cf309dc2b7 ↗
- https://git.kernel.org/stable/c/5f6a2d63c68c12cf61259df7c3527a0e05dce952 ↗
- https://git.kernel.org/stable/c/e9b667a82cdcfe21d590344447d65daed52b353b ↗