CVE-2026-98764 in Linuxinformación

Resumen

por VulDB • 2026-10-18

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

usb: gadget: f_fs: Corregir la desreferencia a puntero NULL en FUNCTIONFS_ENDPOINT_DESC

Cuando el espacio de usuario configura FunctionFS únicamente con descriptores de velocidad completa (por ejemplo, flags = FUNCTIONFS_HAS_FS_DESC) y el dispositivo periférico opera a una velocidad superior (como USB_SPEED_HIGH o USB_SPEED_SUPER), config_ep_by_speed() detecta que la función carece de descriptores para la velocidad actual, registra un aviso y vuelve a utilizar los descriptores de velocidad completa. El endpoint se habilita correctamente mediante usb_ep_enable(), y epfile->ep queda como válido.

Sin embargo, cuando el espacio de usuario emite posteriormente el ioctl FUNCTIONFS_ENDPOINT_DESC para consultar el descriptor del endpoint, ffs_epfile_ioctl() selecciona el índice del descriptor únicamente en función de gadget->speed:

switch (epfile->ffs->gadget->speed) {
case USB_SPEED_SUPER: case USB_SPEED_SUPER_PLUS: desc_idx = 2; break; case USB_SPEED_HIGH: desc_idx = 1; break; default: desc_idx = 0; } desc = epfile->ep->descs[desc_idx];
memcpy(&desc1, desc, desc->bLength);

Dado que el espacio de usuario solo proporcionó descriptores de velocidad completa, epfile->ep->descs[1] es NULL. La desreferencia a desc->bLength provoca un fallo inmediato (panic) por desreferencia a puntero NULL en el kernel.

Se corrige este problema volviendo atrás hacia los descriptores de velocidades inferiores si no se proporcionó el descriptor para la velocidad actual, coincidiendo con la lógica de respaldo en config_ep_by_speed() y el comportamiento histórico de f_fs. Si aún falta, vuelve al epfile->ep->ep->desc (el descriptor activo) y devuelve -EINVAL de forma segura si no se encuentra ningún descriptor válido. Además, se marca desc como const para coincidir con struct usb_ep::desc y evitar descartar los calificadores.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-18

Moderación

aceptado

Artículo

VDB-421934

EPSS

0.00168

KEV

no

Actividades

muy bajo

Fuentes

Interested in the pricing of exploits?

See the underground prices here!