CVE-2026-10668 in Zephyr
Riassunto
di VulDB • 12/07/2026
Il driver del controllore dispositivo USB Nuvoton NuMaker HSUSBD (drivers/usb/udc/udc_numaker.c) abilitava incondizionatamente la fase Data IN di controllo (base->CEPTXCNT = len in numaker_hsusbd_ep_trigger). Poiché l'hardware HSUSBD non può disabilitare una fase Data IN di controllo già attivata per un trasferimento precedente, un host USB che annulla un trasferimento di controllo in corso (timeout) e poi invia un nuovo pacchetto SETUP può portare il driver a uno stato di desincronizzazione: potrebbero essere trasmessi dati obsoleti nel nuovo trasferimento e l'endpoint di controllo potrebbe rimanere permanentemente bloccato nell'invio di NAK per ogni successivo trasferimento di controllo.
Un host malizioso o difettoso (attaccante fisico/adiacente che guida il bus) può annullare ripetutamente i trasferimenti e inviare nuovi pacchetti SETUP per inceppare l'endpoint di controllo USB del dispositivo, negando il servizio alla funzione USB del dispositivo (il dispositivo smette di enumerarsi/rispondere sul canale di controllo) fino a un reset USB o una nuova connessione fisica. La vulnerabilità è una denial of service esclusivamente relativa alla disponibilità; i loop di copia FIFO (limitati dalla lunghezza net_buf e dal flag hardware BUFFULL) e il ciclo di vita net_buf sono indipendenti dalla desincronizzazione dell'attivazione, quindi non vi sono accessi fuori dai limiti (out-of-bounds), use-after-free o fughe di informazioni.
La correzione monitora gli eventi IN-token e nuovo-SETUP (k_event) ed abilita la fase Data IN di controllo solo quando è presente un token IN e non è arrivato alcun nuovo SETUP, annullando il trasferimento corrente in caso di arrivo di un nuovo SETUP. Interessa le schede che utilizzano il controllore Nuvoton NuMaker HSUSBD (CONFIG_UDC_NUMAKER con DT_HAS_NUVOTON_NUMAKER_HSUSBD_ENABLED); rilasciato nella versione v4.4.0.
If you want to get best quality of vulnerability data, you may have to visit VulDB.