CVE-2023-52528: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg syzbot reported the following uninit-value access issue: ===================================================== BUG: KMSAN: uninit-value in smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:975 [inline] BUG: KMSAN: uninit-value in smsc75xx_bind+0x5c9/0x11e0 drivers/net/usb/smsc75xx.c:1482 CPU: 0 PID: 8696 Comm: kworker/0:3 Not tainted 5.8.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: usb_hub_wq hub_event Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x21c/0x280 lib/dump_stack.c:118 kmsan_report+0xf7/0x1e0 mm/kmsan/kmsan_report.c:121 __msan_warning+0x58/0xa0 mm/kmsan/kmsan_instr.c:215 smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:975 [inline] smsc75xx_bind+0x5c9/0x11e0 drivers/net/usb/smsc75xx.c:1482 usbnet_probe+0x1152/0x3f90 drivers/net/usb/usbnet.c:1737 usb_probe_interface+0xece/0x1550 drivers/usb/core/driver.c:374 really_probe+0xf20/0x20b0 drivers/base/dd.c:529 driver_probe_device+0x293/0x390 drivers/base/dd.c:701 __device_attach_driver+0x63f/0x830 drivers/base/dd.c:807 bus_for_each_drv+0x2ca/0x3f0 drivers/base/bus.c:431 __device_attach+0x4e2/0x7f0 drivers/base/dd.c:873 device_initial_probe+0x4a/0x60 drivers/base/dd.c:920 bus_probe_device+0x177/0x3d0 drivers/base/bus.c:491 device_add+0x3b0e/0x40d0 drivers/base/core.c:2680 usb_set_configuration+0x380f/0x3f10 drivers/usb/core/message.c:2032 usb_generic_driver_probe+0x138/0x300 drivers/usb/core/generic.c:241 usb_probe_device+0x311/0x490 drivers/usb/core/driver.c:272 really_probe+0xf20/0x20b0 drivers/base/dd.c:529 driver_probe_device+0x293/0x390 drivers/base/dd.c:701 __device_attach_driver+0x63f/0x830 drivers/base/dd.c:807 bus_for_each_drv+0x2ca/0x3f0 drivers/base/bus.c:431 __device_attach+0x4e2/0x7f0 drivers/base/dd.c:873 device_initial_probe+0x4a/0x60 drivers/base/dd.c:920 bus_probe_device+0x177/0x3d0 drivers/base/bus.c:491 device_add+0x3b0e/0x40d0 drivers/base/core.c:2680 usb_new_device+0x1bd4/0x2a30 drivers/usb/core/hub.c:2554 hub_port_connect drivers/usb/core/hub.c:5208 [inline] hub_port_connect_change drivers/usb/core/hub.c:5348 [inline] port_event drivers/usb/core/hub.c:5494 [inline] hub_event+0x5e7b/0x8a70 drivers/usb/core/hub.c:5576 process_one_work+0x1688/0x2140 kernel/workqueue.c:2269 worker_thread+0x10bc/0x2730 kernel/workqueue.c:2415 kthread+0x551/0x590 kernel/kthread.c:292 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:293 Local variable ----buf.i87@smsc75xx_bind created at: __smsc75xx_read_reg drivers/net/usb/smsc75xx.c:83 [inline] smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:968 [inline] smsc75xx_bind+0x485/0x11e0 drivers/net/usb/smsc75xx.c:1482 __smsc75xx_read_reg drivers/net/usb/smsc75xx.c:83 [inline] smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:968 [inline] smsc75xx_bind+0x485/0x11e0 drivers/net/usb/smsc75xx.c:1482 This issue is caused because usbnet_read_cmd() reads less bytes than requested (zero byte in the reproducer). In this case, 'buf' is not properly filled. This patch fixes the issue by returning -ENODATA if usbnet_read_cmd() reads less bytes than requested.
AI Analysis
Technical Summary
CVE-2023-52528 is a vulnerability identified in the Linux kernel, specifically within the USB network driver for SMSC75xx devices (drivers/net/usb/smsc75xx.c). The issue arises from an uninitialized value access caused by improper handling of the return value from the usbnet_read_cmd() function. This function is responsible for reading data from the USB network device, but in some cases, it reads fewer bytes than requested (including zero bytes), leaving the buffer 'buf' uninitialized. This uninitialized buffer is then used in subsequent operations, leading to undefined behavior and potential kernel memory corruption. The vulnerability was detected by the Kernel Memory Sanitizer (KMSAN) during testing with syzbot, which reported uninitialized value usage in the smsc75xx_wait_ready and smsc75xx_bind functions. The root cause is that usbnet_read_cmd() does not properly handle short reads, and the patch fixes this by returning an error (-ENODATA) when fewer bytes than expected are read, preventing the use of uninitialized data. This vulnerability affects Linux kernel versions containing the vulnerable commit (d0cad871703b898a442e4049c532ec39168e5b57) and impacts systems using the SMSC75xx USB network driver, which is commonly used for USB-to-Ethernet adapters based on SMSC LAN chips. Exploitation would require the presence of such hardware and the ability to trigger the driver code path that reads from the device, potentially leading to kernel crashes or memory corruption. No known exploits are currently reported in the wild, and the vulnerability was responsibly disclosed and patched.
Potential Impact
For European organizations, the impact of CVE-2023-52528 depends largely on the deployment of Linux systems utilizing SMSC75xx-based USB network adapters. These devices are often used in embedded systems, industrial equipment, or legacy hardware where USB Ethernet adapters are common. Exploitation could lead to kernel memory corruption, causing system instability, crashes, or potentially enabling privilege escalation if combined with other vulnerabilities. This could disrupt critical infrastructure, industrial control systems, or enterprise networks relying on Linux-based devices with these adapters. The vulnerability does not appear to allow remote exploitation without local access or physical connection to the USB device, limiting the attack surface. However, in environments where USB devices are shared or where attackers have local access, this could be leveraged for denial of service or further compromise. European organizations with manufacturing, industrial automation, or specialized Linux deployments should be particularly aware. The lack of known exploits reduces immediate risk, but the presence of uninitialized memory usage in kernel drivers is a serious concern for system reliability and security.
Mitigation Recommendations
1. Apply the official Linux kernel patches that address CVE-2023-52528 as soon as they are available and tested in your environment. This patch ensures usbnet_read_cmd() properly handles short reads and prevents uninitialized memory usage. 2. Audit and inventory Linux systems to identify those using SMSC75xx USB Ethernet adapters, especially in embedded or industrial contexts. 3. Where possible, replace vulnerable hardware with updated or alternative network adapters that do not rely on the affected driver. 4. Limit physical and local access to systems with vulnerable hardware to reduce the risk of exploitation. 5. Implement strict USB device control policies to prevent unauthorized USB devices from being connected to critical systems. 6. Monitor kernel logs and system stability for signs of crashes or anomalies related to USB network drivers. 7. For environments where patching is delayed, consider disabling or blacklisting the smsc75xx driver if the hardware is not essential, to mitigate risk temporarily. 8. Incorporate this vulnerability into vulnerability management and incident response plans to ensure rapid action if exploitation attempts are detected.
Affected Countries
Germany, France, United Kingdom, Netherlands, Italy, Spain, Poland, Sweden, Belgium, Finland
CVE-2023-52528: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg syzbot reported the following uninit-value access issue: ===================================================== BUG: KMSAN: uninit-value in smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:975 [inline] BUG: KMSAN: uninit-value in smsc75xx_bind+0x5c9/0x11e0 drivers/net/usb/smsc75xx.c:1482 CPU: 0 PID: 8696 Comm: kworker/0:3 Not tainted 5.8.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: usb_hub_wq hub_event Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x21c/0x280 lib/dump_stack.c:118 kmsan_report+0xf7/0x1e0 mm/kmsan/kmsan_report.c:121 __msan_warning+0x58/0xa0 mm/kmsan/kmsan_instr.c:215 smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:975 [inline] smsc75xx_bind+0x5c9/0x11e0 drivers/net/usb/smsc75xx.c:1482 usbnet_probe+0x1152/0x3f90 drivers/net/usb/usbnet.c:1737 usb_probe_interface+0xece/0x1550 drivers/usb/core/driver.c:374 really_probe+0xf20/0x20b0 drivers/base/dd.c:529 driver_probe_device+0x293/0x390 drivers/base/dd.c:701 __device_attach_driver+0x63f/0x830 drivers/base/dd.c:807 bus_for_each_drv+0x2ca/0x3f0 drivers/base/bus.c:431 __device_attach+0x4e2/0x7f0 drivers/base/dd.c:873 device_initial_probe+0x4a/0x60 drivers/base/dd.c:920 bus_probe_device+0x177/0x3d0 drivers/base/bus.c:491 device_add+0x3b0e/0x40d0 drivers/base/core.c:2680 usb_set_configuration+0x380f/0x3f10 drivers/usb/core/message.c:2032 usb_generic_driver_probe+0x138/0x300 drivers/usb/core/generic.c:241 usb_probe_device+0x311/0x490 drivers/usb/core/driver.c:272 really_probe+0xf20/0x20b0 drivers/base/dd.c:529 driver_probe_device+0x293/0x390 drivers/base/dd.c:701 __device_attach_driver+0x63f/0x830 drivers/base/dd.c:807 bus_for_each_drv+0x2ca/0x3f0 drivers/base/bus.c:431 __device_attach+0x4e2/0x7f0 drivers/base/dd.c:873 device_initial_probe+0x4a/0x60 drivers/base/dd.c:920 bus_probe_device+0x177/0x3d0 drivers/base/bus.c:491 device_add+0x3b0e/0x40d0 drivers/base/core.c:2680 usb_new_device+0x1bd4/0x2a30 drivers/usb/core/hub.c:2554 hub_port_connect drivers/usb/core/hub.c:5208 [inline] hub_port_connect_change drivers/usb/core/hub.c:5348 [inline] port_event drivers/usb/core/hub.c:5494 [inline] hub_event+0x5e7b/0x8a70 drivers/usb/core/hub.c:5576 process_one_work+0x1688/0x2140 kernel/workqueue.c:2269 worker_thread+0x10bc/0x2730 kernel/workqueue.c:2415 kthread+0x551/0x590 kernel/kthread.c:292 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:293 Local variable ----buf.i87@smsc75xx_bind created at: __smsc75xx_read_reg drivers/net/usb/smsc75xx.c:83 [inline] smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:968 [inline] smsc75xx_bind+0x485/0x11e0 drivers/net/usb/smsc75xx.c:1482 __smsc75xx_read_reg drivers/net/usb/smsc75xx.c:83 [inline] smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:968 [inline] smsc75xx_bind+0x485/0x11e0 drivers/net/usb/smsc75xx.c:1482 This issue is caused because usbnet_read_cmd() reads less bytes than requested (zero byte in the reproducer). In this case, 'buf' is not properly filled. This patch fixes the issue by returning -ENODATA if usbnet_read_cmd() reads less bytes than requested.
AI-Powered Analysis
Technical Analysis
CVE-2023-52528 is a vulnerability identified in the Linux kernel, specifically within the USB network driver for SMSC75xx devices (drivers/net/usb/smsc75xx.c). The issue arises from an uninitialized value access caused by improper handling of the return value from the usbnet_read_cmd() function. This function is responsible for reading data from the USB network device, but in some cases, it reads fewer bytes than requested (including zero bytes), leaving the buffer 'buf' uninitialized. This uninitialized buffer is then used in subsequent operations, leading to undefined behavior and potential kernel memory corruption. The vulnerability was detected by the Kernel Memory Sanitizer (KMSAN) during testing with syzbot, which reported uninitialized value usage in the smsc75xx_wait_ready and smsc75xx_bind functions. The root cause is that usbnet_read_cmd() does not properly handle short reads, and the patch fixes this by returning an error (-ENODATA) when fewer bytes than expected are read, preventing the use of uninitialized data. This vulnerability affects Linux kernel versions containing the vulnerable commit (d0cad871703b898a442e4049c532ec39168e5b57) and impacts systems using the SMSC75xx USB network driver, which is commonly used for USB-to-Ethernet adapters based on SMSC LAN chips. Exploitation would require the presence of such hardware and the ability to trigger the driver code path that reads from the device, potentially leading to kernel crashes or memory corruption. No known exploits are currently reported in the wild, and the vulnerability was responsibly disclosed and patched.
Potential Impact
For European organizations, the impact of CVE-2023-52528 depends largely on the deployment of Linux systems utilizing SMSC75xx-based USB network adapters. These devices are often used in embedded systems, industrial equipment, or legacy hardware where USB Ethernet adapters are common. Exploitation could lead to kernel memory corruption, causing system instability, crashes, or potentially enabling privilege escalation if combined with other vulnerabilities. This could disrupt critical infrastructure, industrial control systems, or enterprise networks relying on Linux-based devices with these adapters. The vulnerability does not appear to allow remote exploitation without local access or physical connection to the USB device, limiting the attack surface. However, in environments where USB devices are shared or where attackers have local access, this could be leveraged for denial of service or further compromise. European organizations with manufacturing, industrial automation, or specialized Linux deployments should be particularly aware. The lack of known exploits reduces immediate risk, but the presence of uninitialized memory usage in kernel drivers is a serious concern for system reliability and security.
Mitigation Recommendations
1. Apply the official Linux kernel patches that address CVE-2023-52528 as soon as they are available and tested in your environment. This patch ensures usbnet_read_cmd() properly handles short reads and prevents uninitialized memory usage. 2. Audit and inventory Linux systems to identify those using SMSC75xx USB Ethernet adapters, especially in embedded or industrial contexts. 3. Where possible, replace vulnerable hardware with updated or alternative network adapters that do not rely on the affected driver. 4. Limit physical and local access to systems with vulnerable hardware to reduce the risk of exploitation. 5. Implement strict USB device control policies to prevent unauthorized USB devices from being connected to critical systems. 6. Monitor kernel logs and system stability for signs of crashes or anomalies related to USB network drivers. 7. For environments where patching is delayed, consider disabling or blacklisting the smsc75xx driver if the hardware is not essential, to mitigate risk temporarily. 8. Incorporate this vulnerability into vulnerability management and incident response plans to ensure rapid action if exploitation attempts are detected.
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-02-20T12:30:33.318Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9831c4522896dcbe7c50
Added to database: 5/21/2025, 9:09:05 AM
Last enriched: 7/1/2025, 10:12:34 AM
Last updated: 8/16/2025, 4:37:52 PM
Views: 13
Related Threats
CVE-2025-53948: CWE-415 Double Free in Santesoft Sante PACS Server
HighCVE-2025-52584: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-46269: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-54862: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumCVE-2025-54759: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.