El proyecto FreeBSD publicó el 9 de junio de 2026 el aviso FreeBSD-SA-26:26.ktls, que cubre la vulnerabilidad CVE-2026-45257 en KTLS, la implementación de TLS dentro del kernel. El problema permite que un usuario local sin privilegios sobrescriba el contenido de ficheros a los que solo tiene permiso de lectura, y eso abre la puerta a una escalada de privilegios hasta root.
Qué falla exactamente
KTLS mueve el cifrado y descifrado de TLS al kernel para ahorrar copias de memoria y mejorar el rendimiento, sobre todo cuando se combina con sendfile(2). En la ruta de recepción, KTLS descifra cada registro en el sitio (in-place): da por hecho que los mbufs que contienen los datos recibidos son anónimos y se pueden modificar sin consecuencias.
Esa suposición no siempre se cumple. Cuando sendfile(2) envía memoria respaldada por un fichero a través de una conexión loopback sin cifrado KTLS de salida, los datos que llegan al receptor apuntan al contenido real del fichero, no a una copia privada. Si el atacante ha habilitado la recepción KTLS en ese socket, el descifrado in-place escribe sobre esas páginas y modifica el fichero original.
El requisito de entrada es bajo: basta con tener permiso de lectura sobre el fichero objetivo y poder abrir una conexión loopback, algo que cualquier usuario local puede hacer.
A quién afecta y con qué gravedad
Afecta a todas las ramas soportadas de FreeBSD. El aviso enumera las versiones corregidas:
- stable/15 (15.1-STABLE)
- releng/15.1 (15.1-RC3-p1)
- releng/15.0 (15.0-RELEASE-p10)
- stable/14 (14.4-STABLE)
- releng/14.4 (14.4-RELEASE-p6)
- releng/14.3 (14.3-RELEASE-p15)
La gravedad es alta. No es ejecución remota, pero la capacidad de sobrescribir ficheros arbitrarios con contenido elegido por el atacante es muy peligrosa en un sistema multiusuario: un binario setuid manipulado, un fichero de configuración del sistema o cualquier ruta crítica con permiso de lectura para el usuario sirven como punto de partida para conseguir privilegios de root. En servidores compartidos, jails con usuarios poco confiables o entornos de hosting es justo el tipo de fallo que conviene cerrar cuanto antes.
Cómo protegerse
Lo recomendable es actualizar a una versión parcheada. Tienes tres caminos:
freebsd-updatepara los sistemas que usan binarios oficiales (freebsd-update fetch instally reinicio).- Reconstruir el kernel desde las fuentes parcheadas si compilas tu propio sistema.
- Actualizar los paquetes con
pkgcuando corresponda a tu flujo de despliegue.
Si no puedes parchear de inmediato, el aviso ofrece una mitigación: desactivar KTLS por completo con
sysctl kern.ipc.tls.enable=0
Ten en cuenta que esto deshabilita la aceleración KTLS en todo el sistema, así que perderás esa ventaja de rendimiento hasta que apliques la corrección. Tras parchear, lo lógico es volver a habilitarlo.
Si administras servidores FreeBSD, este es un buen momento para revisar también el resto de avisos publicados el mismo día, ya que el 9 de junio salió un lote amplio. Puedes consultar la ficha de FreeBSD para ver versiones soportadas y enlaces a los canales de seguridad oficiales.
Fuente
- Aviso oficial: FreeBSD-SA-26:26.ktls
- Detalle del CVE: CVE-2026-45257 en NVD