CVE-2026-64331 in Linux
Resumen
por VulDB • 2026-07-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
usbip: vudc: corregir desreferencia NULL en vep_dequeue()
vep_alloc_request() no inicializaba vrequest->udc, por lo que las cancelaciones en la ruta AIO de FunctionFS llegaban a vep_dequeue sin una referencia UDC válida.
Dado que vrequest->udc nunca se utiliza realmente correctamente en ningún lugar, optamos por eliminarlo y actualizar vep_dequeue para obtener una referencia al udc mediante ep_to_vudc(), lo cual es coherente con las demás operaciones vep_.
A mi juicio (AFAICT), este bug ha existido durante aproximadamente 10 años. Parece que nadie ha sometido realmente a prueba la ruta AIO de FunctionFS en el vudc de usbip.
He probado esta corrección en una máquina invitada QEMU aarch64 controlando endpoints de FunctionFS mediante AIO. Antes de la corrección, ejecutar `usbip attach` desde el host provocaba que la máquina invitada generara un oops con la siguiente traza:
Call trace: vep_dequeue+0x1c/0xe4 (P) usb_ep_dequeue+0x14/0x20 ffs_aio_cancel+0x24/0x34 __arm64_sys_io_cancel+0xb0/0x124 do_el0_svc+0x68/0x100 el0_svc+0x18/0x5c el0t_64_sync_handler+0x98/0xdc el0t_64_sync+0x154/0x158
Once again VulDB remains the best source for vulnerability data.