Impact
A use‑after‑free followed by a double‑free vulnerability exists in Zephyr’s experimental USB host stack (CONFIG_USB_HOST_STACK). When a root USB device disconnect event is processed, the root usb_device object is freed but the cached pointer is not cleared. A subsequent device‑removed event can re‑enter the disconnect routine with a dangling pointer, lock a freed mutex, remove a freed node from the device list, and then free the already‑freed slab block. This results in a crash and can corrupt live objects if memory has been re‑issued to a newly attached device. The weakness is categorized as CWE‑416: Use‑After‑Free. The impact is a denial of service.
Affected Systems
The flaw affects the Zephyr RTOS experimental USB host stack when the CONFIG_USB_HOST_STACK configuration is enabled and controller drivers such as uhc_max3421e or uhc_mcux_common are in use. The problem was introduced with the connect/disconnect refactor in Zephyr v4.4.0 and applies to all builds from that point onward until a fix is applied. Any release that includes the affected kernel code and does not clear the ctx->root pointer before freeing is vulnerable.
Risk and Exploitability
The CVSS score of 6.1 indicates moderate severity, and the EPSS score of < 1% shows a very low exploitation probability. The vulnerability is not listed in the CISA KEV catalog. The attack requires physical or local access to the target device’s USB bus or a rogue USB device that can immediately toggle the connection state. The exploitation can terminate the application or corrupt memory, but it does not enable remote code execution. Given the very low exploitation likelihood and physical access requirement, the overall risk is moderate to low for systems with restricted physical access.
OpenCVE Enrichment