Impact
The USB CDC‑NCM driver neglects to check the result of its endpoint enqueue call within the ethernet transmit callback. When the enqueue operation fails—usually because the USB host has suspended the bus, disconnected, or reset the endpoint—the driver still waits indefinitely for a completion semaphore that is only signalled by a bulk‑IN callback that never runs. This causes the shared traffic‑class transmit thread to deadlock, hold the interface lock, and block network traffic until the device is rebooted. The failure does not lead to memory corruption or information disclosure, but results in a persistent loss of the virtual network connection and can stall egress on other interfaces. The flaw is a classic denial of service caused by unchecked use of a blocking operation (CWE‑833).
Affected Systems
Zephyr Project’s USB CDC‑NCM device class, shipped in releases up through version 4.4.0. The vulnerability exists in the code base defined in subsys/usb/device_next/class/usbd_cdc_ncm.c and is present in all affected firmware that incorporates this driver path.
Risk and Exploitability
The CVSS score of 5.3 indicates moderate severity, and the EPSS score of < 1% coupled with its absence from the KEV catalog suggests a low probability of exploitation. The exploit requires a host capable of suspending the USB bus—such as when the host sleeps, enters selective suspend, or powers off a hub—while the device’s NCM interface is transmitting data. This condition is controllable by the host and could be used by a malicious host to lock the device’s network stack deliberately. Given the impact of a shutdown that requires a device reboot, administrators should treat this as a high risk to operational availability.
OpenCVE Enrichment