Junglewise Threat Intelligence

CVE-2026-23679: libusb NULL pointer dereference in parse_interface

CVE-2026-23679 · Severity: medium · CVSS 6.2 · Published 2026-05-27

Vendors: PyPI.

Executive brief

libusb is a widely used library that allows applications to communicate with USB hardware. A vulnerability in how the library handles USB device information could allow a malicious or malformed USB device to crash any application that attempts to read its configuration. This results in a denial-of-service, potentially impacting system stability or the availability of software that relies on USB connectivity.

Technical details

A NULL pointer dereference exists in the parse_interface() function within descriptor.c. When a USB configuration descriptor claims a non-zero number of endpoints (bNumEndpoints) but is followed by a class-specific descriptor with an invalid length (bLength) that exceeds the remaining buffer, the function returns early. This early return occurs after the endpoint count is recorded but before the endpoint array is allocated. Subsequent calls to libusb_get_active_config_descriptor or libusb_get_config_descriptor by an application will result in a crash when the application attempts to iterate over the unallocated (NULL) endpoint array. This can be triggered via physical USB devices, virtualized USB passthrough, or malformed descriptor files. The issue is fixed in version 1.0.30.

Affected products

  • libusb libusb < 1.0.30

Timeline

  • 2026-04-25: patched: Fixes submitted via Pull Request 1814
  • 2026-05-17: advisory: Version 1.0.30 released
  • 2026-05-27: disclosed: CVE published to NVD

References

Related threats