Una vulnerabilidad de alta gravedad en el núcleo de Linux, denominada "Copy Fail", permite a cualquier usuario local obtener privilegios completos de root con un script de Python de 732 bytes, lo que afecta a casi todas las distribuciones principales, incluidas Red Hat, Ubuntu y SUSE lanzadas desde 2017. La falla, identificada como CVE-2026-31431 con una puntuación CVSS de 7.8, afecta a una vasta porción de la infraestructura en la nube, incluidos millones de clústeres de Kubernetes y entornos de alojamiento compartido.
"Este es un error lógico trivial de explotar", dijo la firma de ciberseguridad Xint Code en una publicación en X, señalando que el mismo script de Python pequeño y portátil funciona en todas las plataformas probadas sin modificaciones. La Agencia de Seguridad de Infraestructura y Ciberseguridad de EE. UU. (CISA) agregó la vulnerabilidad a su catálogo de Vulnerabilidades Explotadas Conocidas el 1 de mayo, advirtiendo que plantea "riesgos significativos para la empresa federal".
La vulnerabilidad proviene de un error lógico introducido en una optimización del núcleo de 2017. Al encadenar llamadas al sistema estándar, un atacante puede realizar una escritura controlada de 4 bytes en la caché de páginas del núcleo, un área de RAM donde el sistema guarda copias temporales de archivos para un acceso rápido. Esto permite que la versión en memoria de un programa privilegiado, como /usr/bin/su, se corrompa sin alterar el archivo en el disco, lo que hace que la intrusión sea invisible para la mayoría de las herramientas de monitoreo de integridad de archivos.
La confiabilidad y simplicidad del exploit lo convierten en una amenaza crítica para los entornos multiinquilino. Los investigadores de Microsoft Defender notaron su potencial para facilitar los escapes de contenedores y el movimiento lateral, ya que un atacante con un punto de apoyo en un contenedor podría comprometer todo el nodo anfitrión. El ataque requiere un vector de acceso local inicial, pero una vez logrado, la escalada a root es determinista.
### Cómo un error del núcleo de 9 años permite escapes de contenedores
El núcleo de CVE-2026-31431 reside en el subsistema criptográfico del núcleo, específicamente en el módulo algif_aead. Un cambio de 2017 diseñado para mejorar el rendimiento mediante la reutilización de la memoria para operaciones criptográficas en el lugar no tuvo en cuenta una ruta específica de manejo de errores. Los investigadores de Theori, quienes revelaron el error de forma privada al equipo del núcleo de Linux el 23 de marzo, descubrieron que este descuido podría ser abusado para escribir cuatro bytes de datos arbitrarios en la caché de páginas de cualquier archivo legible.
Debido a que los contenedores en un solo anfitrión comparten el mismo núcleo, también comparten la misma caché de páginas. Por lo tanto, un proceso sin privilegios en un contenedor puede usar el exploit Copy Fail para modificar la representación en memoria de un binario sensible utilizado por el anfitrión u otros contenedores. Cuando ese binario se ejecuta a continuación, se ejecuta con las modificaciones del atacante, otorgando acceso root y rompiendo efectivamente todos los límites de aislamiento de los contenedores. Esto hace que cualquier compromiso inicial de un contenedor, por ejemplo, a través de una aplicación web vulnerable, sea un posible compromiso total del sistema.
### Mitigación disponible mientras se implementan los parches
El equipo de seguridad del núcleo de Linux envió un parche a la rama principal el 1 de abril que revierte la optimización defectuosa de 2017. Si bien se están implementando núcleos completamente parcheados, muchas distribuciones utilizan núcleos de soporte a largo plazo (LTS) más antiguos y deben realizar el backport de la corrección, un proceso que lleva tiempo. En respuesta, los principales distribuidores han emitido medidas de mitigación inmediatas.
Para Ubuntu y sus derivados, una actualización del paquete kmod bloquea la carga del módulo vulnerable algif_aead. Los administradores pueden aplicar esta corrección ejecutando sudo apt update && sudo apt upgrade y reiniciando. Para los sistemas donde no es posible una actualización inmediata, el módulo se puede desactivar manualmente agregando la línea install algif_aead /bin/false a un archivo en /etc/modprobe.d/. Red Hat señaló que esta mitigación puede tener un impacto menor en el rendimiento en tareas que requieren funciones criptográficas del núcleo, pero evita por completo la explotación.
Este artículo es solo para fines informativos y no constituye asesoramiento de inversión.