Linux: cumpleaƱos del kernel entre IA, seguridad y contenedores

  • El kernel de Linux cumple 35 aƱos y la versión 7.2 supera los 40 millones de lĆ­neas.
  • Linus Torvalds critica el exceso de parches triviales generados con ayuda de IA en fases avanzadas.
  • VUSec demuestra Branch Target Reuse, un ataque Spectre v2 que afecta a cBPF en Linux.
  • Los contenedores ya no se consideran una barrera de seguridad sólida; se recomiendan microVM.

Tux, la mascota del kernel Linux

El kernel de Linux ha soplado 35 velas desde aquel mensaje que Linus Torvalds envió a un foro de Usenet el 25 de agosto de 1991. Lo que empezó como un entretenimiento de estudiante en la Universidad de Helsinki, cansado de las limitaciones de MINIX, se ha convertido en una pieza que sostiene el cien por cien de los superordenadores, cerca del 70% de los móviles mediante Android y buena parte de internet y la nube pública. La versión 7.2 acaba de publicarse y el código del proyecto supera ya los 40 millones de líneas, de las que alrededor de 30 millones corresponden a código real.

DetrÔs de esa escala hay una decisión mÔs jurídica que técnica. En sus primeros tiempos, Torvalds usó una licencia propia que impedía la redistribución comercial, lo que cortaba cualquier negocio sostenible. A comienzos de 1992 adoptó la GPLv2, efectiva desde el 1 de febrero, y la versión 0.95 fue la primera distribuida bajo esos términos. Esa fórmula permitía usar, modificar y redistribuir el código, siempre que las modificaciones se publicasen con la misma licencia. Así nacieron empresas como Red Hat y SUSE, y el propio Torvalds resumió después que hacer que Linux fuera GPL fue, con diferencia, lo mejor que había hecho. El núcleo sigue siendo GPL-2.0-only: en 2007 rechazó migrar a la GPLv3 por su clÔusula contra la tivoización.

Linux
ArtĆ­culo relacionado:
Linux conquista nuevos horizontes gracias al impulso de la comunidad y los cambios en el sector tecnológico

Un proyecto que empezó con muy poco y llegó muy lejos

Historia del kernel Linux

El primer código, la versión 0.01, apareció el 17 de septiembre de 1991 con apenas 10.239 líneas y ni siquiera podía ejecutarse por sí solo: necesitaba MINIX para compilarse. La 0.02 llegó el 5 de octubre y se considera la primera «oficial», mientras que en diciembre la 0.11 dio el salto definitivo al poder compilarse a sí misma corriendo sobre Linux. La comunidad respondió rÔpido: en 1993 ya había mÔs de un centenar de desarrolladores y nacieron dos distribuciones que siguen vivas, Slackware y Debian.

No todo el mundo lo vio claro. El 29 de enero de 1992, Andrew Tanenbaum publicó un mensaje titulado «LINUX estÔ obsoleto», donde defendía que los kernels monolíticos eran un diseño de los años 70 frente a los microkernels y que un sistema atado al Intel 386 nunca llegaría a otras arquitecturas. Los hechos le quitaron la razón a Tanenbaum en ambos frentes: la versión 1.2, de marzo de 1995, añadió soporte para Alpha, SPARC y MIPS, y desde entonces el kernel se ha portado a decenas de arquitecturas.

Primer plano de varias tarjetas grƔficas NVIDIA GeForce RTX apiladas, resaltando el diseƱo moderno y la potencia del hardware.
ArtĆ­culo relacionado:
GuĆ­a Completa de NVIDIA en Linux: Rendimiento, Controladores y Compatibilidad

Torvalds se cansa de los parches triviales creados con IA

Linus Torvalds y el desarrollo del kernel Linux

Que Linus Torvalds sigue activo no es ninguna novedad, aunque él mismo reconozca que ya no aporta tantas líneas de código como antes. Lo que ha cambiado es su malestar con el uso desmedido de herramientas de inteligencia artificial para localizar y reparar fallos. No se opone a la IA como apoyo, pero sí a que se use mal. En la versión 7.1 del kernel, en plena quinta Release Candidate de las siete habituales, ha visto un exceso de resoluciones de bugs insignificantes que consumen tiempo y recursos.

Según explicó a los colaboradores, muchos de esos arreglos llegan en instancias inapropiadas. La mayoría de las correcciones incorporadas en la RC5 deberían haberse propuesto en etapas iniciales del proyecto. Torvalds dijo que esa RC5 era bastante grande en comparación con versiones previas en la misma fase y que no estaba del todo contento: la mayor parte eran cosas triviales de controladores comunes. Su idea es que ese tipo de retoques se incluyan en un Ôrbol de Linux-next y se unifiquen durante el periodo de fusión, no en una fase avanzada.

El problema no es solo que los parches sean menores, sino que estÔn provocando un cuello de botella. Se han detectado casos de varias personas que encuentran y resuelven los mismos fallos, pero los notifican por separado. Esa superposición de parches resulta confusa e ineficiente para los verdaderos mantenedores. Torvalds ha avisado de que serÔ mÔs inflexible y que empezarÔ a rechazar pull requests sin sentido con correcciones poco importantes.

Linux
ArtĆ­culo relacionado:
Linux en juegos: salto de rendimiento y el muro del anti-cheat

También hay un riesgo técnico. Usar agentes de IA para resolver un bug puede generar de forma inadvertida un fallo nuevo, lo que añade mÔs trabajo e incluso puede abrir una vulnerabilidad mÔs grave que la original. Torvalds lo resumió con una idea sencilla: las correcciones triviales pueden ser insignificantes y tener una baja probabilidad de causar problemas, pero «baja probabilidad» no es lo mismo que probabilidad nula. Si alguien quiere colaborar con el kernel, mejor que evite la IA para fallos menores en fases avanzadas.

Los contenedores ya no son una jaula segura

Contenedores Linux y seguridad

La empresa de seguridad Depthfirst ha publicado un anÔlisis en el que sostiene que los contenedores al estilo Docker o Kubernetes han dejado de ser una barrera de seguridad lo bastante sólida. La tesis es que hay que partir de la base de que un atacante sabrÔ salir de un contenedor cuando quiera, sin demasiada dificultad. Un contenedor da la impresión de ser una mÔquina propia, pero no incluye un sistema operativo completo: todos los contenedores de un servidor pasan por el mismo kernel Linux del host, que gestiona memoria, procesador y red.

Muchos organizadores de CTF y otros entornos se fían a ciegas y alojan varias pruebas en el mismo servidor, cada una en su contenedor, confiando solo en la seguridad del host. Es una falsa sensación de protección. Como prueba, Depthfirst menciona un boletín de AWS fechado en noviembre de 2025 en el que la empresa ya no considera los contenedores como una barrera de seguridad y, por tanto, no los usa para aislar clientes entre sí.

Lo que ha cambiado en los últimos meses es el precio de entrada para buscar fallos. Con modelos de IA de vanguardia, un atacante con medios modestos puede fabricar un exploit contra mÔquinas aún no parcheadas en cuanto se publica un fallo, algo que antes requería conocimientos serios. Las cifras de Depthfirst muestran la aceleración: en enero se publicaron 249 CVE para el kernel de Linux y en agosto fueron 1.650. De las 36 CVE divulgadas a través del kernelCTF de Google, 13 se pueden explotar mediante interfaces ordinarias, como los sockets locales que un contenedor recibe por defecto.

Copy Fail: vulnerabilidad de escalada de privilegios en Linux (CVE-2026-31431)
ArtĆ­culo relacionado:
Copy Fail CVE-2026-31431: la grave escalada de privilegios que sacude al kernel de Linux

El pasado 24 de julio, Depthfirst consiguió un puesto en el kernelCTF con un exploit 0day, antes de cualquier parche, y hoy el PoC estÔ disponible en GitHub. En el kernel de Linux el parche salió el 6 de agosto, pero en Ubuntu la actualización a fecha del 24 de septiembre aún mostraba el kernel de la 26.04 como «Vulnerable, work in progress» y el de la 24.04 como «Vulnerable». Encontrar vulnerabilidades se ha vuelto rÔpido; corregirlas en todas las releases y mÔquinas lleva tiempo.

¿Cómo protegerse? Depthfirst propone directamente dejar de compartir el kernel y migrar las cargas no fiables a microVM, mÔquinas virtuales ligeras donde cada carga tiene su propio kernel. Ahí entran proyectos como Firecracker y Kata Containers. Si un atacante rompe uno de esos kernels, en teoría solo compromete su propia instancia y no el host entero. Eso sí, Firecracker se apoya en KVM, el componente de virtualización del kernel Linux del host, y KVM también ha tenido fallos. El Januscape permitía escapar de la mÔquina física si el host permitía virtualización anidada. La superficie de ataque es menor, pero no nula. Mientras tanto, en Ubuntu 24.04 o 26.04 conviene vigilar la llegada del próximo kernel; Canonical ha anunciado una publicación semanal de kernels para intentar compensar este ritmo.

Spectre v2 reaparece con Branch Target Reuse

Seguridad y vulnerabilidades en Linux

VUSec ha descrito Branch Target Reuse (BTR), un ataque Spectre v2 que aprovechó el compilador JIT de cBPF en Linux para recuperar el hash de una contraseña de root. El grupo también informa de que los desarrolladores del kernel incorporaron una mitigación x86 para hacer frente a la reutilización de regiones de código. BTR explota predicciones de saltos indirectos que pueden persistir después de que se libere código generado por un compilador JIT y otro bloque reutilice su dirección. La CPU puede entonces especular hacia una posición obsoleta dentro del código nuevo.

VUSec describe dos exploits completos de extremo a extremo contra el compilador JIT de cBPF en Linux: uno con la configuración predeterminada y otro que funcionó con la ofuscación de constantes activada. La demostración recuperó un hash de contraseña de root de la memoria de un proceso su. Conviene recordar que un hash no es la contraseña en texto plano: para obtenerla habría que intentar romperlo, y las posibilidades dependen del algoritmo y de la fortaleza de la contraseña. VUSec cifra la filtración en ocho bytes por segundo y explica que el seguimiento de punteros reduce la cantidad de datos que hay que extraer para llegar al secreto.

Los procesadores predicen el destino de los saltos indirectos para ejecutar instrucciones por adelantado. BTR aprovecha que esa predicción puede quedar desfasada respecto al código que ocupa ahora una dirección de memoria. En la demostración de Linux, los programas cBPF se instalan como filtros seccomp. La técnica funcionó con programas clÔsicos BPF disponibles para procesos sin privilegios; VUSec distingue ese caso de eBPF, cuyo JIT, según el grupo, estÔ restringido a usuarios privilegiados. Los resultados no fueron iguales en todos los motores: en Linux cBPF hubo dos exploits completos; en Firefox SpiderMonkey se obtuvo una prueba de concepto con predicciones obsoletas tras reutilizar código, pero no un exploit completo del navegador; en Oracle GraalVM no completaron un ataque porque la compilación interna y la recolección de basura borraron las entradas de predicción. Oracle mitiga la reutilización aleatorizando las ubicaciones de la caché de código JIT. Los promedios comunicados fueron de tres minutos en Raptor Cove y cinco minutos en Lion Cove.

Cosas que no debes hacer como root en Linux
ArtĆ­culo relacionado:
Peligros y buenas prƔcticas al usar el usuario root en Linux

La mitigación incorporada al kernel emite una barrera IBPB, que limpia el predictor de saltos indirectos, en todos los núcleos cuando un programa cBPF reutiliza una región ejecutada previamente de cBPF o eBPF. La medida también desincentiva esa reutilización. VUSec relaciona los identificadores CVE-2026-64507 y CVE-2026-64508 con los problemas de Linux y recomienda instalar las actualizaciones del sistema operativo y del software cuando los proveedores publiquen los parches. El grupo afirma que observó el comportamiento en todas las CPU que probó de Intel, AMD y Arm, aunque la demostración de recuperación del hash se realizó en procesadores Intel Raptor Cove y Lion Cove. El artículo de investigación sobre BTR fue aceptado para ACM CCS 2026 y tenía prevista su publicación en noviembre de 2026.

QuƩ mirar si administras equipos Linux

Administración de sistemas Linux

Aunque el aniversario y la evolución del kernel inviten a celebrar, la parte prÔctica sigue exigiendo trabajo. En entornos de empresa y administración pública, sobre todo en España y el resto de Europa, conviene no dar por hecho que un contenedor aísla lo suficiente. Si se ejecutan cargas no confiables, tiene mÔs sentido usar microVM con kernel propio, revisar los parches del host y no mezclar servicios críticos en el mismo servidor sin capas adicionales.

También toca vigilar de cerca el ciclo de actualizaciones. La publicación semanal de kernels de Canonical ayuda, pero no exime de comprobar si una versión concreta de Ubuntu sigue marcada como vulnerable. En el desarrollo, la IA puede ser útil para tareas pesadas, aunque Torvalds ha dejado claro que no quiere que se convierta en una fÔbrica de parches menores en momentos delicados. La seguridad del kernel depende de revisar, priorizar y parchear con criterio, no de acumular cambios porque una herramienta los genere con facilidad.

Kernel Linux y código abierto

El kernel Linux llega a su 35º aniversario con una escala enorme, mÔs de 40 millones de líneas y presencia en superordenadores, móviles y nube. Al mismo tiempo, afronta un debate interno sobre el uso de la IA en el desarrollo, ataques como BTR que explotan el hardware y un problema de fondo con los contenedores: comparten kernel y ya no bastan como única defensa. La historia del software libre sigue siendo sólida, pero mantenerla exige parches a tiempo, aislamiento mÔs fuerte y decisiones técnicas sin atajos.

Azure Linux 4.0
ArtĆ­culo relacionado:
Microsoft Azure Linux 4.0: El giro estratƩgico que redefine el futuro de los servidores

AƱadir como fuente preferida en Google