Anuncios

El 5 de febrero de 2026, alguien envió un parche al kernel de Linux. El cambio era mínimo: borrar un solo carácter. Un signo de exclamación. Cuatro meses después, ese mismo carácter tiene nombre, apellido y un exploit con 99 % de efectividad: CVE-2026-23111.

El bug está en nf_tables, el subsistema del kernel Linux que reemplazó a iptables como firewall por defecto. La función nft_map_catchall_activate(), encargada de reactivar elementos durante la fase de abort de transacciones, tenía la condición al revés.

Un ! de más invertía la lógica: en lugar de procesar los elementos inactivos que necesitaban restauración, procesaba los activos que no la necesitaban.

El resultado: cada transacción fallida drenaba el contador de referencias de la cadena. Cuando llegaba a cero, el kernel liberaba la cadena. Pero los elementos catchall todavía tenían apuntadores a ella. Use-after-free. De ahí a root hay un ROP chain de distancia.

¿Qué tan grave es?

El investigador Oliver Sieber, de Exodus Intelligence, encontró el bug a principios de 2025. FuzzingLabs publicó un exploit funcional en abril, apuntando a RHEL 10 para Pwn2Own Berlin 2026. Exodus soltó el análisis técnico completo el 8 de junio.

El exploit funciona en Debian Bookworm, Debian Trixie, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS y RHEL 10. Tiene una estabilidad superior al 99 % en sistema inactivo. Incluso bajo carga pesada con Apache Benchmark se mantiene alrededor del 80 %. No hay vector remoto: necesitas una shell local, un contenedor o un servicio comprometido. Pero una vez dentro, es root garantizado.

Anuncios


La verdadera noticia no es el bug

Lo inquietante es la ventana de exposición. El parche se publicó en febrero. Abril trajo el PoC. Junio trajo el manual completo. Y la mayoría de los servidores en producción siguen sin actualizar el kernel.

No es la primera vez. CVE-2026-23111 es una de al menos tres vulnerabilidades de escalada de privilegios que golpearon al kernel de Linux en semanas recientes, junto con Copy Fail, Dirty Frag y DirtyDecrypt.

Si administras servidores Linux, esto es lo que tienes que hacer hoy: verifica que tu kernel esté actualizado. Si no puedes reiniciar, deshabilita los user namespaces no privilegiados con sysctl kernel.unprivileged_userns_clone=0. Es un parche temporal, pero cierra el vector de ataque mientras programas la actualización.

Un solo carácter. Cuatro meses de ventana. Root en cualquier Debian o Ubuntu sin parchear. Esa es la diferencia entre la seguridad teórica y la real.