El 18 de febrero de 2026 se hizo pública la CVE-2026-23226, un use-after-free (CWE-416) en ksmbd, el servidor SMB3 que corre dentro del propio kernel Linux (en fs/smb/server). La gravedad es alta. NVD le pone un CVSS 3.1 de 7.8 y el CNA de kernel.org sube esa nota a 8.8 porque la considera explotable por red.
Qué es ksmbd y dónde está el fallo
ksmbd es el servidor SMB (el protocolo de compartición de archivos de Windows) que vive en espacio de kernel, una alternativa rápida al clásico Samba en espacio de usuario. Cuando un cliente negocia una sesión con SMB3 multichannel, varias conexiones de red comparten una misma sesión y se reparten el tráfico entre distintos canales.
El fallo está en la lista de canales ksmbd_chann_list, que se implementa como un xarray. A esa estructura le faltaba sincronización: entre buscar un canal con lookup_chann_list() y borrarlo con ksmbd_chann_del() quedaba abierta una condición de carrera. Si dos conexiones comparten la misma sesión sobre SMB3 multichannel, el kernel puede terminar leyendo una estructura de canal ya liberada, es decir, tocando memoria a través de un puntero colgante.
A quién afecta y con qué gravedad
El problema afecta a los sistemas Linux que tienen ksmbd activado y exponen un servidor SMB3 con multichannel habilitado. No toca a quien usa Samba en espacio de usuario, ni a sistemas sin el módulo ksmbd cargado o con el servicio parado.
Los rangos vulnerables van desde Linux 6.3 hasta 6.18.10, más 6.19.0 (con correcciones también retroportadas a ramas estables anteriores). Un use-after-free en el kernel, en el peor caso, deriva en corrupción de memoria, con posibilidad de ejecución de código o denegación de servicio. Esa diferencia entre el 7.8 de NVD (vector local) y el 8.8 de kernel.org (vector de red) tiene una explicación clara: como ksmbd es un servicio expuesto en red, un atacante remoto autenticado podría disparar la condición.
Mitigación y parche
La corrección llegó en un commit de Greg Kroah-Hartman el 16 de febrero de 2026. El parche añade un semáforo lector-escritor chann_lock que protege todas las operaciones sobre el xarray ksmbd_chann_list y cierra la ventana de carrera entre buscar y borrar canales.
Qué conviene hacer:
- Actualiza el kernel a una versión con la corrección (6.18.11 o posterior dentro de su serie, y los retroportes correspondientes en ramas estables y LTS). Aplica las actualizaciones de seguridad de tu distribución en cuanto salgan.
- Si no puedes parchear ya y no necesitas ksmbd, descarga el módulo o para el servicio, o desactiva SMB3 multichannel en la configuración del servidor para reducir lo que queda expuesto.
- Restringe el acceso al puerto SMB (TCP/445) a redes de confianza con un cortafuegos.
Si llevas un servidor de archivos sobre ksmbd, dale prioridad a esta actualización. Aislar servicios y aplicar el principio de mínimo privilegio (por ejemplo con módulos como los que comentamos en nuestra guía de SELinux y AppArmor) ayuda a contener el daño de fallos así, aunque no sustituye al parche.
Tienes el estado de soporte y las versiones del kernel en nuestra ficha de Linux kernel.
Fuente
- NVD — NIST National Vulnerability Database: https://nvd.nist.gov/vuln/detail/CVE-2026-23226
- Detalle CVE: https://nvd.nist.gov/vuln/detail/CVE-2026-23226