CVE-2023-52742·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: net: USB: Fix wrong-direction WARNING in plusb.c The syzbot fuzzer detected a bug in the plusb network driver: A zero-length control-OUT transfer was treated as a read instead of a write. In modern kernels this error provokes a WARNING: usb 1-1: BOGUS control dir, pipe 80000280 doesn't match bRequestType c0 WARNING: CPU: 0 PID: 4645 at drivers/usb/core/urb.c:411 usb_submit_urb+0x14a7/0x1880 drivers/usb/core/urb.c:411 Modules linked in: CPU: 1 PID: 4645 Comm: dhcpcd Not tainted 6.2.0-rc6-syzkaller-00050-g9f266ccaa2f5 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/12/2023 RIP: 0010:usb_submit_urb+0x14a7/0x1880 drivers/usb/core/urb.c:411 ... Call Trace: <TASK> usb_start_wait_urb+0x101/0x4b0 drivers/usb/core/message.c:58 usb_internal_control_msg drivers/usb/core/message.c:102 [inline] usb_control_msg+0x320/0x4a0 drivers/usb/core/message.c:153 __usbnet_read_cmd+0xb9/0x390 drivers/net/usb/usbnet.c:2010 usbnet_read_cmd+0x96/0xf0 drivers/net/usb/usbnet.c:2068 pl_vendor_req drivers/net/usb/plusb.c:60 [inline] pl_set_QuickLink_features drivers/net/usb/plusb.c:75 [inline] pl_reset+0x2f/0xf0 drivers/net/usb/plusb.c:85 usbnet_open+0xcc/0x5d0 drivers/net/usb/usbnet.c:889 __dev_open+0x297/0x4d0 net/core/dev.c:1417 __dev_change_flags+0x587/0x750 net/core/dev.c:8530 dev_change_flags+0x97/0x170 net/core/dev.c:8602 devinet_ioctl+0x15a2/0x1d70 net/ipv4/devinet.c:1147 inet_ioctl+0x33f/0x380 net/ipv4/af_inet.c:979 sock_do_ioctl+0xcc/0x230 net/socket.c:1169 sock_ioctl+0x1f8/0x680 net/socket.c:1286 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:870 [inline] __se_sys_ioctl fs/ioctl.c:856 [inline] __x64_sys_ioctl+0x197/0x210 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x39/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd The fix is to call usbnet_write_cmd() instead of usbnet_read_cmd() and remove the USB_DIR_IN flag.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.1.12
- Published
- 2024-05-21
Affected versions
From: 5.16
Until: 6.1.12
Fixed in: 6.1.12
How to fix this CVE
Update your Linux kernel to version 6.1.12 or later to remediate this USB driver bug in the plusb network adapter. The vulnerability stems from incorrect USB control transfer direction handling that triggers kernel warnings and potential system instability. Kernel updates should be applied followed by a system reboot to ensure the patched code is loaded.
sudo dnf update kernel kernel-devel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Check installed kernel version: uname -r
- Identify if plusb USB network driver is loaded: lsmod | grep plusb
- Search dmesg for USB control transfer warnings: dmesg | grep -i 'BOGUS control dir'
- Verify kernel version is 6.1.12 or higher after patching: uname -r
FAQ
What is CVE-2023-52742?
This vulnerability in the Linux kernel's plusb USB network driver causes incorrect USB control transfer direction handling, where zero-length writes are mistakenly treated as reads, triggering kernel warnings and stability issues.
Is CVE-2023-52742 being actively exploited?
No, this CVE is not listed in CISA's Known Exploited Vulnerabilities catalog and no public exploits are available. The vulnerability was identified through fuzzing rather than active exploitation.
What versions of Kernel are affected by CVE-2023-52742?
Linux kernel versions 5.16 through 6.1.11 are vulnerable; kernel 6.1.12 and later contain the fix.
How do I check if my server is vulnerable to CVE-2023-52742?
Run 'uname -r' to check your kernel version. If it shows 6.1.11 or earlier and you use USB network adapters, verify with 'lsmod | grep plusb' to confirm the driver is in use.
Does Defensia detect CVE-2023-52742?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2023-52742 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/0d2cf3fae701646061e295815bb7588d2f3671cc
- https://git.kernel.org/stable/c/1be271c52bf3554edcb8d124d1f8c7f777ee5727
- https://git.kernel.org/stable/c/25141fb4119112f4ebf8f00cf52014abbc8020b1
- https://git.kernel.org/stable/c/43379fcacea2dcee35d02efc9c8fe97807a503c9
- https://git.kernel.org/stable/c/6f69307f625904feed189008381fd83bd1a35b63
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2023-52742. Free for 1 server.
Get started free