Junglewise Threat Intelligence

CVE-2024-26651: Linux Kernel sr9800 driver missing error check in usbnet_get_endpoints

CVE-2024-26651 · Severity: medium · CVSS 5.5 · Published 2024-03-27

Technologies: Linux Kernel. Vendors: Linux.

Executive brief

A vulnerability exists in the Linux kernel's driver for SR9800 USB-to-Ethernet adapters. The software fails to properly check for errors when initializing the device's communication endpoints. If an error occurs during this process, it could lead to a system crash or instability, potentially allowing a local user to cause a denial-of-service.

Technical details

A vulnerability in the sr9800 USB-to-Ethernet driver (drivers/net/usb/sr9800.c) stems from missing error handling for the usbnet_get_endpoints() function within the sr9800_bind() routine. When the driver attempts to bind to a device, it fails to check if endpoint initialization was successful. If the function fails, the driver continues execution with uninitialized or invalid endpoint data, which can lead to a kernel null pointer dereference or other memory corruption issues. An attacker with local access could potentially trigger this by providing a specially crafted or malfunctioning USB device. Patches have been released across multiple stable kernel branches to ensure the return value is checked and errors are propagated correctly.

Affected products

  • Linux Linux Kernel 3.14 to 4.19.311, 4.20 to 5.4.273, 5.5 to 5.10.214, 5.11 to 5.15.153, 5.16 to 6.1.83, 6.2 to 6.6.23, 6.7 to 6.7.11, 6.8 to 6.8.2

Timeline

  • 2024-03-05: other: Initial patch authored
  • 2024-03-27: disclosed: CVE published

References

Related threats