Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Linux (CVE-2026-23320)

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
25/03/2026
Última modificación:
03/04/2026

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:<br /> <br /> usb: gadget: f_ncm: alinear el ciclo de vida de net_device con bind/unbind<br /> <br /> 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).<br /> <br /> 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.<br /> <br /> Problema 1: Desreferencia de puntero NULL al desconectar<br /> No se puede manejar la desreferencia de puntero NULL del kernel en la dirección virtual 0000000000000000<br /> Rastro de llamada:<br /> __pi_strlen+0x14/0x150<br /> rtnl_fill_ifinfo+0x6b4/0x708<br /> rtmsg_ifinfo_build_skb+0xd8/0x13c<br /> rtmsg_ifinfo+0x50/0xa0<br /> __dev_notify_flags+0x4c/0x1f0<br /> dev_change_flags+0x54/0x70<br /> do_setlink+0x390/0xebc<br /> rtnl_newlink+0x7d0/0xac8<br /> rtnetlink_rcv_msg+0x27c/0x410<br /> netlink_rcv_skb+0x134/0x150<br /> rtnetlink_rcv+0x18/0x28<br /> netlink_unicast+0x254/0x3f0<br /> netlink_sendmsg+0x2e0/0x3d4<br /> <br /> Problema 2: Enlaces simbólicos sysfs colgantes<br /> console:/ # ls -l /sys/class/net/ncm0<br /> lrwxrwxrwx ... /sys/class/net/ncm0 -&amp;gt;<br /> /sys/devices/platform/.../gadget.0/net/ncm0<br /> console:/ # ls -l /sys/devices/platform/.../gadget.0/net/ncm0<br /> ls: .../gadget.0/net/ncm0: No existe el archivo o directorio<br /> <br /> 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.<br /> <br /> 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().<br /> <br /> Preservar la corrección de uso después de liberación del commit 6334b8e4553c (&amp;#39;usb: gadget: f_ncm: Fix UAF ncm object at re-bind after usb ep transport error&amp;#39;). Verificar opts-&amp;gt;net en ncm_set_alt() y ncm_disable() para asegurar que gether_disconnect() se ejecute solo si se estableció una conexión.

Impacto