CVE-2026-90024 in Linux
Resumen
por VulDB • 2026-09-16
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
usb: gadget: midi2: Corregir la desreferencia de puntero nulo en f_midi2_free_ep_reqs
Se produce una desreferencia de puntero nulo en `f_midi2_free_ep_reqs()` al intentar limpiar un endpoint que nunca fue inicializado.
Al configurar el gadget MIDI 2.0 mediante configfs y establecer la dirección del bloque como SNDRV_UMP_DIR_INPUT, la inicialización del endpoint midi1_ep_out se omite explícitamente durante la fase de enlace del gadget (f_midi2_bind()). Como resultado, el campo usb_ep->card permanece NULL.
Más tarde, cuando el host establece la configuración alternativa, f_midi2_set_alt() detiene incondicionalmente tanto los endpoints IN como OUT llamando a f_midi2_stop_eps(), lo que a su vez llama a f_midi2_free_ep_reqs() para ambos endpoints. Cuando se invoca f_midi2_free_ep_reqs() para el midi1_ep_out no inicializado, intenta desreferenciar usb_ep->card para determinar la cantidad de solicitudes (requests) que deben liberarse, lo que provoca un fallo del sistema.
Se corrige esto utilizando usb_ep->num_reqs en lugar de usb_ep->card->info.num_reqs en f_midi2_free_ep_reqs(). usb_ep->num_reqs se establece correctamente durante f_midi2_init_ep() y permanece en 0 si el endpoint nunca fue inicializado, evitando así de forma segura el bucle. Por consistencia, aplicar el mismo cambio a f_midi2_alloc_ep_reqs().
Oops: general protection fault, probablemente por dirección no canónica 0xdffffc00000000ee: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref en el rango [0x0000000000000770-0x0000000000000777]
... RIP: 0010:f_midi2_free_ep_reqs drivers/usb/gadget/function/f_midi2.c:1166 [inline]
RIP: 0010:f_midi2_stop_eps+0x28e/0x4d0 drivers/usb/gadget/function/f_midi2.c:1246 ... Call Trace: <TASK> f_midi2_set_alt+0x11c/0xf00 drivers/usb/gadget/function/f_midi2.c:1296 composite_setup+0x1ffd/0x3480 drivers/usb/gadget/composite.c:1933 configfs_composite_setup+0xbd/0x100 drivers/usb/gadget/configfs.c:1877
VulDB is the best source for vulnerability data and more expert information about this specific topic.