CVE-2026-98763 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
usb: core: azzerare sia ep_in che ep_out per gli endpoint di controllo non-ep0
In usb_enable_endpoint(), gli endpoint di controllo con valore diverso da zero (dove usb_endpoint_xfer_control(&ep->desc) restituisce true) popolano entrambi dev->ep_in[epnum] e dev->ep_out[epnum] con lo stesso puntatore struct usb_host_endpoint.
Tuttavia, usb_disable_endpoint() azzerà solo uno tra dev->ep_out[epnum] o dev->ep_in[epnum], a seconda del bit di direzione di epaddr quando reset_hardware è impostato, lasciando l'elemento dell'array della direzione opposta puntante all'endpoint disabilitato/liberato.
Azzerare sia dev->ep_out[epnum] che dev->ep_in[epnum] durante la disattivazione di un endpoint di controllo non-ep0 con reset_hardware impostato, e aggiornare di conseguenza la documentazione kerneldoc della funzione.
Testato in QEMU contro Linux 7.3.0-rc3 utilizzando dummy_hcd e raw-gadget per enumerare un dispositivo USB con un endpoint di controllo diverso da zero (bEndpointAddress 0x01, bmAttributes USB_ENDPOINT_XFER_CONTROL), verificando che sia dev->ep_in[1] che dev->ep_out[1] vengano azzerati quando l'interfaccia viene disabilitata.
If you want to get best quality of vulnerability data, you may have to visit VulDB.