CVE-2026-23320 in Linuxinformación

Resumen

por MITRE • 2026-03-25

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

usb: gadget: f_ncm: alinear el ciclo de vida de net_device con bind/unbind

Actualmente, el net_device se asigna en ncm_alloc_inst() y se libera en ncm_free_inst(). Esto vincula la vida útil de la interfaz de red a la instancia de configuración en lugar de a la conexión USB (bind/unbind).

Este desacoplamiento causa problemas cuando el gadget USB se desconecta y el dispositivo gadget subyacente es eliminado. El net_device puede sobrevivir a su padre, lo que lleva a enlaces sysfs colgantes y desreferencias de puntero NULL al acceder al dispositivo gadget liberado.

Problema 1: Desreferencia de puntero NULL al desconectar
No se puede manejar la desreferencia de puntero NULL del kernel en la dirección virtual 0000000000000000
Rastro de llamada:
__pi_strlen+0x14/0x150
rtnl_fill_ifinfo+0x6b4/0x708
rtmsg_ifinfo_build_skb+0xd8/0x13c
rtmsg_ifinfo+0x50/0xa0
__dev_notify_flags+0x4c/0x1f0
dev_change_flags+0x54/0x70
do_setlink+0x390/0xebc
rtnl_newlink+0x7d0/0xac8
rtnetlink_rcv_msg+0x27c/0x410
netlink_rcv_skb+0x134/0x150
rtnetlink_rcv+0x18/0x28
netlink_unicast+0x254/0x3f0
netlink_sendmsg+0x2e0/0x3d4

Problema 2: Enlaces simbólicos sysfs colgantes
console:/ # ls -l /sys/class/net/ncm0
lrwxrwxrwx ... /sys/class/net/ncm0 ->
/sys/devices/platform/.../gadget.0/net/ncm0
console:/ # ls -l /sys/devices/platform/.../gadget.0/net/ncm0
ls: .../gadget.0/net/ncm0: No existe el archivo o directorio

Mover la asignación de net_device a ncm_bind() y la liberación a ncm_unbind(). Esto asegura que la interfaz de red exista solo cuando la función gadget esté realmente vinculada a una configuración.

Para soportar la configuración previa a la vinculación (p. ej., establecer el nombre de la interfaz o la dirección MAC a través de configfs), almacenar en caché las opciones proporcionadas por el usuario en f_ncm_opts utilizando la estructura gether_opts. Aplicar estas configuraciones almacenadas en caché al net_device al crearse en ncm_bind().

Preservar la corrección de uso después de liberación del commit 6334b8e4553c ('usb: gadget: f_ncm: Fix UAF ncm object at re-bind after usb ep transport error'). Verificar opts->net en ncm_set_alt() y ncm_disable() para asegurar que gether_disconnect() se ejecute solo si se estableció una conexión.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Reservar

2026-01-13

Divulgación

2026-03-25

Moderación

aceptado

Artículo

VDB-353008

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!