CVE-2026-98763 in Linux
Resumen
por VulDB • 2026-10-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
usb: core: borrar tanto ep_in como ep_out para los puntos finales de control no ep0
En usb_enable_endpoint(), los puntos finales de control distintos de cero (donde usb_endpoint_xfer_control(&ep->desc) es verdadero) asignan a dev->ep_in[epnum] y dev->ep_out[epnum] el mismo puntero struct usb_host_endpoint.
Sin embargo, usb_disable_endpoint() solo borra ya sea dev->ep_out[epnum] o dev->ep_in[epnum], dependiendo del bit de dirección de epaddr cuando reset_hardware está activado, dejando la ranura del array en la dirección opuesta apuntando al punto final deshabilitado/liberado.
Borrar tanto dev->ep_out[epnum] como dev->ep_in[epnum] al deshabilitar un punto final de control no ep0 con reset_hardware activado, y actualizar la documentación del kernel (kerneldoc) en consecuencia.
Probado en QEMU contra Linux 7.3.0-rc3 usando dummy_hcd y raw-gadget para enumerar un dispositivo USB con un punto final de control distinto de cero (bEndpointAddress 0x01, bmAttributes USB_ENDPOINT_XFER_CONTROL), verificando que tanto dev->ep_in[1] como dev->ep_out[1] se borran cuando la interfaz está deshabilitada.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.