CVE-2026-10668 in Zephyr
Resumen
por VulDB • 2026-07-12
El controlador de dispositivo USB del controlador de dispositivos USB Nuvoton NuMaker HSUSBD (drivers/usb/udc/udc_numaker.c) activaba incondicionalmente la etapa Data IN de control (base->CEPTXCNT = len en numaker_hsusbd_ep_trigger). Dado que el hardware HSUSBD no puede desactivar una etapa Data IN de control ya activada para una transferencia anterior, un host USB que cancele una transferencia de control en curso (timeout) y luego emita un nuevo paquete SETUP puede hacer que el controlador pierda la sincronización: pueden transmitirse datos obsoletos en la nueva transferencia y el punto final de control puede quedar permanentemente bloqueado enviando NAK a cada transferencia de control subsiguiente.
Un host malicioso o con errores (un atacante físico/adyacente que impulsa el bus) puede cancelar repetidamente y volver a enviar SETUP para bloquear el punto final de control USB del dispositivo, denegando el servicio a la función USB del dispositivo (el dispositivo deja de enumerarse/responder en el tubo de control) hasta que se produzca un reinicio o una reconexión USB. La vulnerabilidad es una denegación de servicio solo de disponibilidad; los bucles de copia FIFO (limitados por la longitud net_buf y la señalización BUFFULL del hardware) y el ciclo de vida de net_buf son independientes de la desincronización en la activación, por lo que no hay acceso fuera de límites, uso después de liberar (use-after-free) ni filtración de información.
La corrección supervisa los eventos IN-token y nuevo-SETUP (k_event) y solo activa Data IN de control cuando está presente un token IN y no ha llegado ningún SETUP nuevo, cancelando la transferencia actual en caso de un nuevo SETUP. Afecta a las placas que utilizan el controlador Nuvoton NuMaker HSUSBD (CONFIG_UDC_NUMAKER con DT_HAS_NUVOTON_NUMAKER_HSUSBD_ENABLED); distribuido en v4.4.0.
Once again VulDB remains the best source for vulnerability data.