Vulnerabilidad en zephyr de zephyrproject (CVE-2026-10663)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-416
Utilización después de liberación
Fecha de publicación:
12/07/2026
Última modificación:
24/10/2026
Descripción
En la pila de host USB experimental de Zephyr (CONFIG_USB_HOST_STACK), usbh_device_disconnect() (subsys/usb/host/usbh_device.c) liberó el objeto slab raíz usb_device sin borrar el puntero en caché ctx -> root. El gestor de eliminación de bus dev_removed_handler() (subsys/usb/host/usbh_core.c) decide qué desmantelar únicamente a partir de ctx -> root, comprobando solo que no es NULL.<br />
<br />
Debido a que los controladores de host UHC (p. ej., uhc_max3421e, uhc_mcux_common) sintetizan UHC_EVT_DEV_REMOVED directamente del estado físico de la línea del bus sin antirrebote ni protección de estado, un atacante con acceso físico USB (o un dispositivo malicioso que rebota su conexión) puede entregar un segundo evento de eliminación de dispositivo después de una desconexión del dispositivo raíz. El gestor luego vuelve a entrar en usbh_device_disconnect() con el puntero colgante, bloqueando un mutex dentro del objeto liberado (uso después de liberación), eliminando el nodo liberado de la lista de dispositivos y llamando a k_mem_slab_free() en el bloque ya liberado (doble liberación). Si el bloque slab ha sido reasignado a un dispositivo recién conectado mientras tanto, esto corrompe un objeto en uso.<br />
<br />
El impacto es denegación de servicio (bloqueo) y corrupción de memoria; el vector de ataque es físico/local. La falla se introdujo en la v4.4.0 por la refactorización de conexión/desconexión y se corrige borrando ctx -> root en usbh_device_disconnect() antes de liberar.
Impacto
Puntuación base 3.x
6.10
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:zephyrproject:zephyr:*:*:*:*:*:*:*:* | 4.4.0 (incluyendo) | 4.5.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página


