Copy Fail: La vulnerabilidad de Linux que lleva 9 años escondida y permite obtener root con un script de 732 bytes
Los cimientos de la seguridad en Linux acaban de recibir un buen golpe. Theori, una firma de seguridad coreana, ha sacado a la luz una vulnerabilidad que lleva latente desde 2017 y que, sorprendentemente, nadie había pillado en toda esta década. Se trata de CVE-2026-31431, apodada cariñosamente «Copy Fail», y reside en el módulo criptográfico authencesn del kernel. Lo más chulo (o más bien, lo más escalofriante) es que la explotación es de una simplicidad brutal: un script de Python de apenas 732 bytes, con diez líneas de código y usando únicamente la biblioteca estándar, es suficiente para que cualquier usuario local sin privilegios obtenga acceso root en prácticamente cualquier distribución. No hace falta compilar nada, ni instalar dependencias raras, ni buscar offsets específicos. Simplemente, ejecutas y listo.El mecanismo es elegante en su maldad. El writeup de Theori lo explica de perlas: un usuario puede escribir cuatro bytes controlados en la page cache de cualquier archivo legible del sistema. Dado que el kernel lee esa cache cuando carga un binario, modificarla equivale a alterar el binario en memoria antes de que se ejecute. Lo más insidioso es que esta modificación no dispara defensas basadas en eventos de sistema de archivos, como inotify, por lo que el proceso se ejecuta sin que nadie se dé cuenta de que el código ha sido modificado. Lleva ahí desde 2017, y el tiempo ha pasado sin que nadie la detectara.Técnicamente, Copy Fail es un bug de lógica directa, lo que la distingue de sus antecesoras famosas. No es una race condition, como ocurrió con Dirty Cow (CVE-2016-5195), que requería ganar una carrera en el subsistema VM y a menudo necesitaba múltiples intentos, ni con Dirty Pipe (CVE-2022-0847), que era específica de versión y exigía una manipulación precisa del buffer. Copy Fail dispara fiable, sin carreras, sin reintentos y sin ventanas de tiempo propensas a crashes. El bug nació cuando se añadió una optimización en algif_aead.c que permitía operaciones AEAD in-place. Para el descifrado, el código copiaba datos desde el buffer de transmisión al de recepción, encadenando las páginas de tag por referencia. Esto convirtió las páginas de la page cache, originalmente solo lectura, en partes del scatterlist de destino, haciéndolas escribibles. La escritura scratch del módulo camina directamente sobre esas páginas, creando el bug en la intersección de tres decisiones de diseño que nadie conectó.Este patrón de vulnerabilidades antiguas que pasan años escondidas no es nuevo en Linux. PwnKit, divulgada en enero de 2022, afectaba a pkexec de Polkit y llevaba 12 años en la configuración predeterminada de las principales distribuciones. Permitía obtener root completo y apareció un exploit funcional en la web en solo tres horas. La diferencia con Copy Fail es la portabilidad universal: mientras PwnKit afectaba a Linux, el script de Copy Fail funciona idéntico en cuatro distribuciones empresariales sin recompilación. Los números hablan por sí solos: 732 bytes, cuatro distribuciones probadas (Ubuntu 24.04, Amazon Linux 2023, RHEL 10.1 y SUSE 16) y nueve años de vida. La CVE está rateada como de severidad alta, con un 7.8 sobre 10, y
Noticias relacionadas
CopyFail: La vulnerabilidad que pone en jaque la seguridad del kernel de Linux
Fedora Hummingbird: el ambicioso salto hacia un sistema operativo distroless
AMD prepara el terreno para el HDMI 2.1 completo en el ecosistema Linux
Omarchy 3.7 Gaming Edition: Steam, RetroArch y Xbox Cloud Gaming llegan a Linux